我正试图通过以下方式取消设置我的应用默认操作:
final PackageManager pm = getPackageManager();
pm.clearPackagePreferredActivities( getPackageName() );
它适用于设备的主帐户,但它会引发辅助帐户的例外:
“用户1010080和当前进程都没有android.permission.SET_PREFERRED_APPLICATIONS。”
当然我在清单中添加了android.permission.SET_PREFERRED_APPLICATIONS
(但我认为它已不再使用了)
我尝试用以下内容“改变上下文”:
final PackageManager pm = getApplicationContext().getPackageManager();
pm.clearPackagePreferredActivities( getPackageName() );
没有成功。
我的应用程序是一个家庭应用程序(适用于孩子)几乎锁定所有内容,我想要一个“退出”按钮,用于恢复用户家庭(或至少选择家庭)。可能是另一种解决方案。
感谢。
答案 0 :(得分:1)
clearPackagePreferredActivities&自API级别8以来,{@ 3}}被不推荐使用。
设置首选活动的现代方法是启动一个意图,如下所示:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);