0

我可以在以下链接的帮助下通过代码 重置默认启动器如何重置默认启动器/主屏幕替换?

现在,我想将我的自定义启动器设置为默认启动器。但是下面的代码不起作用。它崩溃了

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..
4

1 回答 1

1

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

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

但是下面的代码不起作用。它崩溃了

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

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

于 2013-06-16T13:35:37.333 回答