我正在尝试以编程方式取消设置默认主屏幕。我的应用程序被定义为清单中的主页,但如果用户选择默认的电话主屏幕(在对话框中选择主屏幕),我无法再将我的应用程序设置为主页。
如果用户将我的应用程序选为主屏幕作为默认设置(使用“设为默认设置”复选框),我只需执行此操作:
clearPackagePreferredActivities( “MypackageApp”); //来自packagemanager
然后选择器再次出现。但我不知道如何做对话框选择当前主屏幕再次出现(当用户默认选择手机主屏幕时)。我试过这个:
clearPackagePreferredActivities( “com.android.launcher”); //来自packagemanager 但我得到一个错误: java.lang.security.exception用户 * 和当前进程都没有android.permission.SET_PREFERRED_APPLICATIONS。但我已在我的清单应用程序中定义了此权限。
答案 0 :(得分:2)
我正在尝试以编程方式取消设置默认主屏幕。
幸运的是,出于明显的安全原因,这是不可能的。
我的应用程序在清单中定义为主页,但如果用户选择手机主屏幕作为默认设置(在对话框中选择主屏幕),我无法再将我的应用程序设置为主页。
切换回不同主屏幕的用户会认为这是一件非常好的事情。
但我已在我的清单应用中定义了此权限。
如果您的应用程序使用与签名固件相同的签名密钥进行签名,则您只能拥有该权限。