diff --git a/app/build.gradle b/app/build.gradle index cd753934aa..5384551e83 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -127,6 +127,10 @@ android { buildConfigField 'int', 'NET_ENV', '4' } } + + packagingOptions { + exclude 'META-INF/io.netty.versions.properties' + } } def generateVersionCode() { diff --git a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java index 3c3774398d..e144f7534d 100644 --- a/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java +++ b/modules/mogo-module-map/src/main/java/com/mogo/module/map/MapPresenter.java @@ -151,6 +151,7 @@ public class MapPresenter extends Presenter< MapView > implements onChoosePath( intent, key_type ); } else if ( key_type == 10021 ) { if ( CustomNaviInterrupter.getInstance().interrupt() ) { + // 导航过程中语音指令退出导航,会出现 activity 不走 onResume 的情况 UiThreadHandler.postDelayed( () -> { if ( isForeground( getContext() ) && !hasOthersActivity() && !mStatusManager.isMainPageOnResume() ) { mLauncher.backToLauncher( getContext() ); @@ -207,8 +208,15 @@ public class MapPresenter extends Presenter< MapView > implements private boolean hasOthersActivity() { ActivityManager am = ( ActivityManager ) getContext().getSystemService( Context.ACTIVITY_SERVICE ); - List< ActivityManager.RunningTaskInfo > list = am.getRunningTasks( 2 ); - return list != null && list.size() > 1; + List< ActivityManager.RunningTaskInfo > list = am.getRunningTasks( 1 ); + if ( list != null && !list.isEmpty() ) { + for ( ActivityManager.RunningTaskInfo runningTaskInfo : list ) { + if ( TextUtils.equals( runningTaskInfo.topActivity.getPackageName(), getContext().getPackageName() ) ) { + return runningTaskInfo.numActivities > 1; + } + } + } + return true; } /**