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

API レベル 8 以降、clearPackagePreferredActivitiesaddPackageToPreferredは 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 に答える