diff --git a/app/src/main/java/com/ik/mboxlauncher/ui/CategoryActivity.java b/app/src/main/java/com/ik/mboxlauncher/ui/CategoryActivity.java index 78b1706..d2164b1 100644 --- a/app/src/main/java/com/ik/mboxlauncher/ui/CategoryActivity.java +++ b/app/src/main/java/com/ik/mboxlauncher/ui/CategoryActivity.java @@ -30,7 +30,9 @@ public class CategoryActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { - FragmentManager.init(this,this); + if(FragmentManager.getInstance()==null){ + FragmentManager.init(this,this); + } super.onCreate(savedInstanceState); } @@ -45,6 +47,7 @@ public class CategoryActivity extends FragmentActivity { if(bundle!=null){ mAction=bundle.getString("action"); } + if(FragmentManager.getInstance()==null) return; if(RecommendFragment.ACTION.equals(mAction)){ showFragment(FragmentManager.getInstance().getFragmentByTag(FragmentManager.RECOMMEND_APPS_TAG),false); }else if(MusicFragment.ACTION.equals(mAction)){ @@ -76,7 +79,9 @@ public class CategoryActivity extends FragmentActivity { @Override public void setFragmentsDisableRefreshDataFlag() { - FragmentManager.getInstance().pressBackUpdateAllFragmentDisableRefreshDataFlag(); + if(FragmentManager.getInstance()!=null){ + FragmentManager.getInstance().pressBackUpdateAllFragmentDisableRefreshDataFlag(); + } } @Override @@ -86,6 +91,7 @@ public class CategoryActivity extends FragmentActivity { @Override public void onDoneEvents(MessageEvent messageEvent) { + if(FragmentManager.getInstance() == null) return; if(MusicFragment.ACTION.equals(messageEvent.action)){ showFragment(FragmentManager.getInstance().getFragmentByTag(FragmentManager.MUSIC_APPS_TAG),false); }else if(RecommendFragment.ACTION.equals(messageEvent.action)){ @@ -109,7 +115,9 @@ public class CategoryActivity extends FragmentActivity { private void onResumeResetDisableFreshDataFlag() { if(SharedPreferencesUtil.getSharePrefrencesBoolean(this,SharedPreferencesUtil.CONFIG_RESET_DISABLE_FRESHDATA_FLAG)){ SharedPreferencesUtil.setSharePrefrencesBoolean(this,SharedPreferencesUtil.CONFIG_RESET_DISABLE_FRESHDATA_FLAG,false); - FragmentManager.getInstance().pressBackUpdateAllFragmentDisableRefreshDataFlag(); + if(FragmentManager.getInstance()!=null){ + FragmentManager.getInstance().pressBackUpdateAllFragmentDisableRefreshDataFlag(); + } if(currentFragment!=null){ currentFragment.onResumeFragment(new MessageEvent()); } @@ -143,7 +151,9 @@ public class CategoryActivity extends FragmentActivity { @Override protected void onDestroy() { - FragmentManager.getInstance().destory(); + if(FragmentManager.getInstance()!=null){ + FragmentManager.getInstance().destory(); + } super.onDestroy(); } @@ -154,18 +164,24 @@ public class CategoryActivity extends FragmentActivity { LogUtils.loge("onKeyDown===>"+keyCode); if(keyCode==KeyEvent.KEYCODE_BACK){ - if(currentFragment.onKeyDown(keyCode,event)){ + if(currentFragment!=null&¤tFragment.onKeyDown(keyCode,event)){ return true; }else { //currentFragment.resetDisableRefreshDataFlag(); - FragmentManager.getInstance().pressBackUpdateAllFragmentDisableRefreshDataFlag(); + if(FragmentManager.getInstance()!=null){ + FragmentManager.getInstance().pressBackUpdateAllFragmentDisableRefreshDataFlag(); + } return super.onKeyDown(keyCode,event); } } if(keyCode==KeyEvent.KEYCODE_HOME){ LogUtils.loge("onKeyDown===>KEYCODE_HOME"); - currentFragment.onDetach(); - FragmentManager.getInstance().pressBackUpdateAllFragmentDisableRefreshDataFlag(); + if(currentFragment!=null){ + currentFragment.onDetach(); + } + if(FragmentManager.getInstance()!=null){ + FragmentManager.getInstance().pressBackUpdateAllFragmentDisableRefreshDataFlag(); + } } return super.onKeyDown(keyCode,event); diff --git a/app/src/main/java/com/ik/mboxlauncher/ui/MyApplication.java b/app/src/main/java/com/ik/mboxlauncher/ui/MyApplication.java index fb8eccf..f0fc406 100644 --- a/app/src/main/java/com/ik/mboxlauncher/ui/MyApplication.java +++ b/app/src/main/java/com/ik/mboxlauncher/ui/MyApplication.java @@ -34,8 +34,9 @@ public class MyApplication extends Application { logCrash(throwable); // 可选:重启应用或结束进程 - restartApp(); + //restartApp(); android.os.Process.killProcess(android.os.Process.myPid()); + System.exit(10); } }); diff --git a/app/src/main/java/com/ik/mboxlauncher/ui/fragment/AppsFragment.java b/app/src/main/java/com/ik/mboxlauncher/ui/fragment/AppsFragment.java index cc736be..35a8a99 100644 --- a/app/src/main/java/com/ik/mboxlauncher/ui/fragment/AppsFragment.java +++ b/app/src/main/java/com/ik/mboxlauncher/ui/fragment/AppsFragment.java @@ -94,8 +94,10 @@ public class AppsFragment extends CategoryFragment { List appBeanList = (List) data; // 创建过滤后的列表 List filteredList = new ArrayList<>(); - String selfPackageName = FragmentManager.getInstance().getPackageName();; - + String selfPackageName = "com.droidlogic.mboxlauncher"; + if(FragmentManager.getInstance()!=null){ + selfPackageName = FragmentManager.getInstance().getPackageName(); + } for (AppBean appBean : appBeanList) { // 跳过自身应用 if (appBean.getPackageName().equals(selfPackageName) || appBean.getPackageName().equals("com.android.traceur")) {