Fragment.RequestPermissions(String[], Int32) メソッド

定義

このアプリケーションに付与するアクセス許可を要求します。

[Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;I)V", "", ApiSince=23)]
public void RequestPermissions (string[] permissions, int requestCode);
[<Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;I)V", "", ApiSince=23)>]
member this.RequestPermissions : string[] * int -> unit

パラメーター

permissions
String[]

要求されたアクセス許可。 null 以外で空でない必要があります。

requestCode
Int32

に報告された #onRequestPermissionsResult(int, String[], int[])結果と一致するアプリケーション固有の要求コード。 = 0 にする必要があります >。

属性

注釈

このアプリケーションに付与するアクセス許可を要求します。 これらのアクセス許可は、マニフェストで要求する必要があります。アプリに付与する必要はありません。また、プラットフォームまたはサード パーティ製アプリで宣言されているかどうかに関係なく、保護レベル android.content.pm.PermissionInfo #PROTECTION_DANGEROUS dangerousを持つ必要があります。

マニフェストで要求された場合、通常のアクセス許可 android.content.pm.PermissionInfo#PROTECTION_NORMAL はインストール時に付与されます。 マニフェストで要求され、アプリの署名がアクセス許可を宣言するアプリの署名と一致する場合、署名のアクセス android.content.pm.PermissionInfo#PROTECTION_SIGNATURE 許可はインストール時に付与されます。

この API を呼び出す前に を呼び出#shouldShowRequestPermissionRationale(String)して、アクセス許可を要求する前に根拠 UI を表示することがシステムによって推奨される場合にチェックします。

アプリに要求されたアクセス許可がない場合、ユーザーはそれらを受け入れるための UI が表示されます。 ユーザーが要求されたアクセス許可を受け入れたか拒否した後、アクセス許可が付与されたかどうかの報告に関 #onRequestPermissionsResult(int, String[], int[]) するコールバックを受け取ります。

アクセス許可を要求しても、アクセス許可が付与されることは保証されず、アプリはこのアクセス許可を持たずに実行できる必要があることに注意してください。

この方法では、付与するアクセス許可と拒否するアクセス許可をユーザーが選択できるようにするアクティビティを開始できます。 そのため、アクティビティが一時停止され、再開される可能性があることを準備する必要があります。 さらに、一部のアクセス許可を付与するには、アプリケーションの再起動が必要になる場合があります。 このような場合、結果を に #onRequestPermissionsResult(int, String[], int[])配信する前に、システムによってアクティビティ スタックが再作成されます。

アクセス許可があるかどうかを確認するときは、 を使用 android.content.Context#checkSelfPermission(String)する必要があります。

アプリに既に付与されているアクセス許可に対してこの API を呼び出すと、ユーザーに UI が表示され、アプリでこれらのアクセス許可を引き続き保持できるかどうかを判断できます。 これは、アクセス許可によって保護されたデータをアプリで使用する方法が大幅に変更される場合に役立ちます。

アクティビティが にtrue設定android.R.styleable#AndroidManifestActivity_noHistory noHistoryされている場合、アクティビティは を含む#onRequestPermissionsResult(int, String[], int[])結果コールバックを受け取らないため、アクセス許可を要求することはできません。

の Java ドキュメント android.app.Fragment.requestPermissions(java.lang.String[], int)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象