1

我正在尝试使用以下方式取消设置我的应用默认操作:

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() );

没有成功。

我的应用程序是一个家庭应用程序(针对儿童),它几乎锁定了所有内容,我想要一个“退出”按钮来恢复用户的家(或至少选择家)。可能还有其他解决方案。

谢谢。

4

1 回答 1

1

clearPackagePreferredActivitiesaddPackageToPreferred自 API 级别 8 起已被 android 弃用。

设置首选活动的一种现代方法是启动一个意图,如下所示:

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);
于 2013-09-23T09:56:24.813 回答