From c91d4503a63013be3242120ae0ad9cd1b0b8127e Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 12 十二月 2024 17:18:54 +0800 Subject: [PATCH] 优化定位服务相关代码 --- app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java | 29 +++++++++++++++-------------- 1 files changed, 15 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java index bd4e99d..22792da 100644 --- a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java +++ b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java @@ -4,7 +4,6 @@ import android.content.Context; import android.content.Intent; -import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; @@ -31,7 +30,6 @@ import com.dayu.pipirrapp.net.BaseResponse; import com.dayu.pipirrapp.net.subscribers.SubscriberListener; import com.dayu.pipirrapp.net.upload.UploadFileListener; -import com.dayu.pipirrapp.service.MyLocationService; import com.dayu.pipirrapp.tool.FullyGridLayoutManager; import com.dayu.pipirrapp.tool.GlideEngine; import com.dayu.pipirrapp.tool.ImageFileCompressEngine; @@ -229,6 +227,7 @@ existingPaths.add(uplodData.getFilePath()); } //鑾峰彇鍦≒ictureSelector鐨勭浉鍐屾椂鍙栨秷閫変腑鐨勫浘鐗� + Set<String> resultPaths = new HashSet<>(); for (LocalMedia media : result) { if (media.getWidth() == 0 || media.getHeight() == 0) { @@ -267,8 +266,19 @@ // 鎵ц涓婁紶鍥剧墖鐨勬搷浣� uplodeImg(uplodFileState); } - - + resultPaths.add(media.getCompressPath()); + } + //澶勭悊浠庣浉鍐岃繑鍥炴椂鍙栨秷鐨勫浘鐗囧鐞� + existingPaths.removeAll(resultPaths); + if (!existingPaths.isEmpty()) { + for (String path : existingPaths) { + for (UplodFileState uplodFileState : uplodFileStates) { + if (path.equals(uplodFileState.getFilePath())) { + uplodFileState.getThisCall().cancel(); + uplodFileStates.remove(uplodFileState); + } + } + } } runOnUiThread(new Runnable() { @Override @@ -341,16 +351,7 @@ * 寮�濮嬪畾浣嶇浉鍏抽�昏緫 */ private void startLocation() { - if (!ServiceUtils.isServiceRunning(this, MyLocationService.class)) { - Intent location = new Intent(this, MyLocationService.class); - location.putExtra("isSingle", true); - //寮�鍚畾浣� - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - startForegroundService(location); - } else { - startService(location); - } - } + ServiceUtils.startLocationService(this, true); //鑾峰彇瀹氫綅鏈嶅姟浼犺繃鏉ョ殑鍧愭爣鐐� LiveEventBus.get(CommonKeyName.locationData).observeForever(locationObserver); } -- Gitblit v1.8.0