Language

DevicePolicyManager.SetPermissionGrantState メソッド

定義

特定のアプリケーションのランタイム アクセス許可の許可状態を設定します。

[Android.Runtime.Register("setPermissionGrantState", "(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;I)Z", "GetSetPermissionGrantState_Landroid_content_ComponentName_Ljava_lang_String_Ljava_lang_String_IHandler", ApiSince=23)]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS")]
public virtual bool SetPermissionGrantState(Android.Content.ComponentName? admin, string packageName, string permission, Android.App.Admin.PermissionGrantState grantState);
[<Android.Runtime.Register("setPermissionGrantState", "(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;I)Z", "GetSetPermissionGrantState_Landroid_content_ComponentName_Ljava_lang_String_Ljava_lang_String_IHandler", ApiSince=23)>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_RUNTIME_PERMISSIONS")>]
abstract member SetPermissionGrantState : Android.Content.ComponentName * string * string * Android.App.Admin.PermissionGrantState -> bool
override this.SetPermissionGrantState : Android.Content.ComponentName * string * string * Android.App.Admin.PermissionGrantState -> bool

パラメーター

admin
ComponentName

この要求が関連付けられている DeviceAdminReceiver 。 呼び出し元がデバイス管理者でない場合は Null。

packageName
String

アクセス許可を付与または取り消すアプリケーション。

permission
String

許可または取り消すアクセス許可。

grantState
PermissionGrantState

#PERMISSION_GRANT_STATE_DENIED、#PERMISSION_GRANT_STATE_DEFAULT、#PERMISSION_GRANT_STATE_GRANTEDのいずれかであるアクセス許可付与の状態。

返品

アクセス許可が正常に付与されたか取り消されたか。

属性

注釈

特定のアプリケーションのランタイム アクセス許可の許可状態を設定します。 状態は、ユーザーが UI を介して管理できる状態、#PERMISSION_GRANT_STATE_DENIED denied、アクセス許可が拒否され、ユーザーが UI を介して管理できない状態、およびアクセス許可が付与され、ユーザーが UI を介して管理できない#PERMISSION_GRANT_STATE_GRANTED grantedを#PERMISSION_GRANT_STATE_DEFAULT defaultできます。 このメソッドは、プロファイル所有者、デバイス所有者、または#setDelegatedScopesを介して#DELEGATION_PERMISSION_GRANTスコープを指定したデリゲートによってのみ呼び出すことができます。

ユーザーは UI を介して影響を受けるグループ内の他のアクセス許可を管理できず、付与された状態は現在の値として保持されることに注意してください。 そのため、影響を受けるグループ内のすべてのアクセス許可の許可状態を設定することをお勧めします。

許可の状態を #PERMISSION_GRANT_STATE_DEFAULT default に設定しても、アクセス許可は取り消されません。 以前の許可がある場合は保持されます。

< を持つデバイス管理者は、 < でビルドされたアプリケーションのアクセス許可を付与および取り消すことはできません。

android.os.Build.VERSION_CODES#Q targetSdkVersionを持つ管理者は、すべてのアプリのアクセス許可を付与および取り消すことができます。 < を使用してビルドされたアプリケーションからアクセス許可を取り消すユーザーと同様に、アクセス許可に一致するアプリ操作がに設定されているが、アクセス許可は付与されたままである。

注: android.os.Build.VERSION_CODES#S 以降を実行しているデバイスでは、センサー関連のアクセス許可を制限します。 <ul><li>Manifest.permission.ACCESS_FINE_LOCATION</li><li>Manifest.permission.ACCESS_BACKGROUND_LOCATION</li><li>Manifest.permission.ACCESS_COARSE_LOCATION</li><li>Manifest.permission.CAMERA</li><li>Manifest.permission.RECORD_AUDIO</li><li>lililililiManifest.permission.RECORD_BACKGROUND_AUDIO</li><li>Manifest.permission.ACTIVITY_RECOGNITION</li><li>Manifest.permission.BODY_SENSORS</li></ul>android.os.Build.VERSION_CODES#BAKLAVAを実行しているデバイスでは、 android.health.connect.HealthPermissions も制限付きリストに含まれます。

プロファイル所有者は、これらのアクセス許可を付与することはできません (つまり、上記のアクセス許可と#PERMISSION_GRANT_STATE_GRANTEDのgrantStateを使用してこのメソッドを呼び出す)、拒否する可能性があります。

既定では、デバイス所有者は引き続きこれらのアクセス許可を付与できます。 ただし、ユーザー制御を強化するために、管理者はプロビジョニング パラメーターに #EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT を含めることで、これらのアクセス許可の許可の制御をオプトアウトできます。 その場合、デバイス所有者の制御は、これらのアクセス許可の拒否に制限されます。

上記の場合にセンサー関連のアクセス許可が付与されない場合、デバイス管理者が < でビルドされている場合、これらのアクセス許可を付与するためにこのメソッドを呼び出すと、自動的に失敗します。 = android.os.Build.VERSION_CODES#VANILLA_ICE_CREAMtargetSdkVersionでビルドされている場合、このメソッドはSecurityExceptionをスローします。

注: android.os.Build.VERSION_CODES#S 以降を実行しているデバイスでは、マネージド プロファイルの所有者に対する制御は、 <ul><li>Manifest.permission.READ_SMS</li></ul に制限されます。>

マネージド プロファイル所有者は、これらのアクセス許可を付与することはできません (つまり、上記のアクセス許可と#PERMISSION_GRANT_STATE_GRANTEDのgrantStateを使用してこのメソッドを呼び出す)、拒否する可能性があります。

管理者がこれらのアクセス許可を付与しようとすると、管理者がアクセスを制限されると、警告なしに無視されます (例外はスローされません)。

マネージド プロファイルの所有者は、次のアクセス許可の制御が制限されます: <ul><li>Manifest.permission.READ_SMS</li></ul>

マネージド プロファイル所有者は、これらのアクセス許可を付与することはできません (つまり、上記のアクセス許可と#PERMISSION_GRANT_STATE_GRANTEDのgrantStateを使用してこのメソッドを呼び出す)、拒否する可能性があります。

Javaドキュメント。

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

適用対象