diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java index 972abc758a..73e1913002 100644 --- a/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java +++ b/modules/mogo-module-back/src/main/java/com/mogo/module/back/BackToMainHomeManager.java @@ -12,6 +12,7 @@ import android.view.View; import android.view.WindowManager; import com.mogo.commons.AbsMogoApplication; +import com.mogo.module.back.utils.Utils; import com.mogo.module.back.utils.WindowManagerViewHelper; import com.mogo.utils.logger.Logger; @@ -31,13 +32,15 @@ public class BackToMainHomeManager { return; } mBackView.setOnClickListener(view -> { - ComponentName cn = new ComponentName("com.mogo.launcher", "com.mogo.module.main.MainActivity") ; - Intent intent = new Intent() ; - intent.setComponent(cn) ; - if (!(AbsMogoApplication.getApp().getApplicationContext() instanceof Activity)) { - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + if (Utils.isActivityExits("com.mogo.launcher","com.mogo.module.main.MainActivity")){ + ComponentName cn = new ComponentName("com.mogo.launcher", "com.mogo.module.main.MainActivity") ; + Intent intent = new Intent() ; + intent.setComponent(cn) ; + if (!(AbsMogoApplication.getApp().getApplicationContext() instanceof Activity)) { + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + } + AbsMogoApplication.getApp().startActivity(intent); } - AbsMogoApplication.getApp().startActivity(intent); }); WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.height = WindowManager.LayoutParams.WRAP_CONTENT; diff --git a/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java b/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java new file mode 100644 index 0000000000..16d4b0991c --- /dev/null +++ b/modules/mogo-module-back/src/main/java/com/mogo/module/back/utils/Utils.java @@ -0,0 +1,20 @@ +package com.mogo.module.back.utils; + +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; + +import com.mogo.commons.AbsMogoApplication; + +public class Utils { + public static boolean isActivityExits(String packageName,String classStr){ + Intent intent = new Intent(); + intent.setClassName(packageName, classStr); + ResolveInfo resolveInfo = AbsMogoApplication.getApp().getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY); + if(resolveInfo != null) { + return true; + }else{ + return false; + } + } +}