Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
説明
アプリの詳細設定ページを開きます。ここから、ユーザーは手動で必要な権限を割り当てる必要があります。
Settings.ACTION_APPLICATION_DETAILS_SETTINGS
Intent.FLAG_ACTIVITY_NEW_TASK
オプション。設定すると、新しいアクティビティとして設定画面(アクティビティ)が開きます。それ以外の場合は、現在実行中のアクティビティで開かれます。
Uri.fromParts("package", getPackageName(), null)
URIを準備または作成しますが、getPackageName()-アプリケーションパッケージの名前を返します。
intent.setData(uri)
これを設定することを忘れないでください。そうでなければ、あなたは得るでしょう android.content.ActivityNotFoundException
。あなたが意図を設定したので Settings.ACTION_APPLICATION_DETAILS_SETTINGS
、Androidはいくつかの名前で検索することを期待しています。