从代码中取消设置默认主屏幕

时间:2012-04-10 12:21:17

标签: android homescreen

我正在尝试以编程方式取消设置默认主屏幕。我的应用程序被定义为清单中的主页,但如果用户选择默认的电话主屏幕(在对话框中选择主屏幕),我无法再将我的应用程序设置为主页。

如果用户将我的应用程序选为主屏幕作为默认设置(使用“设为默认设置”复选框),我只需执行此操作:

clearPackagePreferredActivities( “MypackageApp”); //来自packagemanager

然后选择器再次出现。但我不知道如何做对话框选择当前主屏幕再次出现(当用户默认选择手机主屏幕时)。我试过这个:

clearPackagePreferredActivities( “com.android.launcher”); //来自packagemanager 但我得到一个错误: java.lang.security.exception用户 * 和当前进程都没有android.permission.SET_PREFERRED_APPLICATIONS。但我已在我的清单应用程序中定义了此权限。

1 个答案:

答案 0 :(得分:2)

  

我正在尝试以编程方式取消设置默认主屏幕。

幸运的是,出于明显的安全原因,这是不可能的。

  

我的应用程序在清单中定义为主页,但如果用户选择手机主屏幕作为默认设置(在对话框中选择主屏幕),我无法再将我的应用程序设置为主页。

切换回不同主屏幕的用户会认为这是一件非常好的事情。

  

但我已在我的清单应用中定义了此权限。

如果您的应用程序使用与签名固件相同的签名密钥进行签名,则您只能拥有该权限。