java – android PackageManager.DONT_KILL_APP似乎不起作用

在我最近的项目中,我使用COMPONENT_ENABLED_STATE_DISABLED标志从启动器隐藏应用程序图标.

在这里你可以看到代码:

PackageManager packageManager = SettingsActivity.this.getPackageManager();
ComponentName componentName = new ComponentName(SettingsActivity.this, MainScreen.class);

packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

这是在用户按下checkBox时启动的.但是有些人每次经过10-15秒的时间后,该应用程序都会停下来.没有错误或消息.

我不明白,因为我使用过DONT_KILL_APP标志..

有什么建议?

最佳答案 首先获取您的应用包名称:

String packageName = activity.getPackageName();

然后从您在Manifest文件中定义的名称设置clsDefault.

 <activity-alias
            android:name=".HomeScreen-Default"...>

public static String clsDefault = packageName + ".HomeScreen-Default";

然后使用它来设置图标.

activity.getPackageManager().setComponentEnabledSetting(new ComponentName(packageName, clsDefault ),
                    PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
点赞