按代码将自定义启动器设置为默认启动器

时间:2013-06-16 13:25:18

标签: android

我可以通过以下链接按代码重置默认启动器 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..

1 个答案:

答案 0 :(得分:1)

  

我想将自定义启动器设置为默认启动器

这是不可能的。 用户可以将主屏幕设置为默认主屏幕,例如按HOME并选择您的应用作为默认设置。但是,无法强制用户接受您的主屏幕作为默认设置。

  

但以下代码无效。它崩溃了

该代码未将“自定义启动器”设置为默认启动器。这只是控制你是否甚至是一个主屏幕的潜在选择(如果你被禁用,你不可能是主屏幕。)

至于它为什么崩溃,没有堆栈跟踪,这将很难确定。