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

戻り値

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

属性

注釈

特定のアプリケーションに対するランタイム アクセス許可の付与状態を設定します。 状態は #PERMISSION_GRANT_STATE_DEFAULT default 、ユーザーが UI を介して管理できる状態です。この状態では、 #PERMISSION_GRANT_STATE_DENIED deniedアクセス許可が拒否され、ユーザーは UI を介して管理できず、アクセス許可が付与され、 #PERMISSION_GRANT_STATE_GRANTED granted ユーザーは UI を介して管理できません。 このメソッドは、 を介して#setDelegatedScopesスコープを指定#DELEGATION_PERMISSION_GRANTしたプロファイル所有者、デバイス所有者、またはデリゲートによってのみ呼び出すことができます。 <p/> ユーザーは UI を介して影響を受けるグループ内の他のアクセス許可を管理できず、付与された状態は現在の値として保持されることに注意してください。 したがって、影響を受けるグループ内のすべてのアクセス許可の許可状態を設定することをお勧めします。 <p/> 許可状態を に #PERMISSION_GRANT_STATE_DEFAULT default 設定しても、アクセス許可は取り消されません。 以前の許可がある場合は保持されます。 <p/> < を持つtargetSdkVersionデバイス管理者。< android.os.Build.VERSION_CODES#Mandroid.os.Build.VERSION_CODES#Qビルドされたアプリケーションのアクセス許可をtargetSdkVersion付与および取り消すことはできません。 <p/> &ge を持つ targetSdkVersion 管理者は、 android.os.Build.VERSION_CODES#Q すべてのアプリのアクセス許可を付与および取り消すことができます。 < でビルドされたアプリケーションからアクセス許可を取り消すユーザーと targetSdkVersion 同様に、 android.os.Build.VERSION_CODES#M アクセス許可に一致する app-op は に android.app.AppOpsManager#MODE_IGNORED設定されますが、アクセス許可は付与されたままです。

注: 以降を実行している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><><Manifest.permission.RECORD_BACKGROUND_AUDIO/li li><>Manifest.permission.ACTIVITY_RECOGNITION</li li>><Manifest.permission.BODY_SENSORS</li></ul>

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

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

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

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

管理者がこれらのアクセス許可を付与しようとしても、管理者がアクセスを制限されている場合は、自動的に無視されます (例外はスローされません)。

管理されたプロファイル所有者に対して、次のアクセス許可の制御が制限されます: <ul<>li>Manifest.permission.READ_SMS</li></ul>

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

android.app.admin.DevicePolicyManager.setPermissionGrantState(android.content.ComponentName, java.lang.String, java.lang.String, int)Java ドキュメント。

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

適用対象