From b7f20918f5be4930523684bbdbd8e081515f0c79 Mon Sep 17 00:00:00 2001 From: kangshulong <1095887643@qq.com> Date: Wed, 1 Apr 2026 17:54:45 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=A7=A3=E5=86=B3ad72e265c1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=AF=BC=E8=87=B4=E4=BB=8E=E4=BA=8C=E7=BA=A7=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E8=BF=9B=E5=85=A5=E7=AC=AC=E4=B8=89=E6=96=B9=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=8C=89=E8=BF=94=E5=9B=9E=E9=80=80=E5=87=BA=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=EF=BC=8C=E5=A4=9A=E6=AC=A1=E6=8C=89=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E9=94=AE=E5=92=8CHome=E9=94=AE=E4=BA=8C=E7=BA=A7=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=8A=9B=E7=A9=BA=E6=8C=87=E9=92=88Launcher=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E5=A5=94=E6=BA=83=E6=88=96=E5=8D=A1=E6=AD=BB=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ik/mboxlauncher/ui/CategoryActivity.java | 32 ++++++++++++++----- .../com/ik/mboxlauncher/ui/MyApplication.java | 3 +- .../ui/fragment/AppsFragment.java | 6 ++-- 3 files changed, 30 insertions(+), 11 deletions(-) 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")) {