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

Android 按代码将自定义启动器设置为默认启动器,android,Android,在下面的链接的帮助下,我可以通过代码重置默认启动器 现在,我想将我的自定义启动器设置为默认启动器。但是下面的代码不起作用。它崩溃了 ComponentName ComponentName=新组件名(“com.xxx.launcher”、“com.xxx.launcher.LauncheActivity”) 我想将我的自定义启动器设置为默认启动器 这是不可能的。用户可以将您的主屏幕设置为默认主屏幕,例如按home并选择您的应用程序作为默认主屏幕。但是,您不能强制用户接受您的主屏幕作为默认屏幕 但

在下面的链接的帮助下,我可以通过代码重置默认启动器

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

ComponentName ComponentName=新组件名(“com.xxx.launcher”、“com.xxx.launcher.LauncheActivity”)

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

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

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

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


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

您会遇到什么异常?请发布logcat堆栈跟踪。
            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..