ユーザーがアクションを実行したときに、アクティビティを終了してホーム画面を起動する必要があるアプリケーションがあります。
アクションは、複数の入力 (つまり、複数のアクティビティから) およびハードウェア ボタンを介して実行できます。
私たちがしていることは、家を立ち上げる標準的な方法です。
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startMain);
ここで何が起こるかというと、ランチャーに「Complete action using ...」というメッセージが表示されます。
この「...を使用してアクションを完了する」ダイアログは表示されませんが、アプリを起動したランチャーを使用して直接ホームに移動することは、セキュリティ上の理由から非常に重要です。
ノート :
「packageManager.clearPackagePreferredActivities」を使用して、CATEGORY_HOME、ACTION_MAIN インテントをリッスンするアクティビティの 1 つを追加してみました。
しかし、android.permission.SET_PREFERRED_APPLICATIONS パーミッションは、サポートしているバージョン (>= Gingerbread) では利用できないため、うまくいきません。
ありがとう、スリラム