我可以通过以下链接按代码重置默认启动器 How to reset default launcher/home screen replacement?
现在,我想将自定义启动器设置为默认启动器。但是以下代码不起作用。它崩溃了
ComponentName componentName = new ComponentName(“com.xxx.launcher”,“com.xxx.launcher.LauncheActivity”);
PackageManager pm = getPackageManager();
int flag = ((pm.getComponentEnabledSetting(componentName) == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) ? PackageManager.COMPONENT_ENABLED_STATE_DISABLED
: PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
pm.setComponentEnabledSetting(componentName, flag, PackageManager.DONT_KILL_APP); //crash at this line..
答案 0 :(得分:1)
我想将自定义启动器设置为默认启动器
这是不可能的。 用户可以将主屏幕设置为默认主屏幕,例如按HOME并选择您的应用作为默认设置。但是,你无法强制用户接受您的主屏幕作为默认设置。
但以下代码无效。它崩溃了
该代码未将“自定义启动器”设置为默认启动器。这只是控制你是否甚至是一个主屏幕的潜在选择(如果你被禁用,你不可能是主屏幕。)
至于它为什么崩溃,没有堆栈跟踪,这将很难确定。