Sprache

DevicePolicyManager.SetPermissionGrantState Methode

Definition

Legt den Erteilungsstatus einer Laufzeitberechtigung für eine bestimmte Anwendung fest.

[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

Parameter

admin
ComponentName

Dieser DeviceAdminReceiver Anforderung ist zugeordnet. Null, wenn der Anrufer kein Geräteadministrator ist.

packageName
String

Die Anwendung zum Erteilen oder Widerrufen einer Berechtigung.

permission
String

Die Berechtigung zum Erteilen oder Widerrufen.

grantState
PermissionGrantState

Der Berechtigungserteilungsstatus, der einer von #PERMISSION_GRANT_STATE_DENIED, #PERMISSION_GRANT_STATE_DEFAULT, #PERMISSION_GRANT_STATE_GRANTED

Gibt zurück

ob die Berechtigung erfolgreich erteilt oder widerrufen wurde.

Attribute

Hinweise

Legt den Erteilungsstatus einer Laufzeitberechtigung für eine bestimmte Anwendung fest. Der Zustand kann #PERMISSION_GRANT_STATE_DEFAULT default sein, in dem ein Benutzer sie über die Benutzeroberfläche verwalten kann, #PERMISSION_GRANT_STATE_DENIED deniedin dem die Berechtigung verweigert wird und der Benutzer sie nicht über die Benutzeroberfläche verwalten kann und in dem die Berechtigung erteilt wird und #PERMISSION_GRANT_STATE_GRANTED granted der Benutzer sie nicht über die Benutzeroberfläche verwalten kann. Diese Methode kann nur von einem Profilbesitzer, Gerätebesitzer oder einer Stellvertretung im Rahmen des #DELEGATION_PERMISSION_GRANT Bereichs aufgerufen #setDelegatedScopeswerden.

Beachten Sie, dass der Benutzer andere Berechtigungen in der betroffenen Gruppe nicht über die Benutzeroberfläche verwalten kann, und der erteilte Zustand wird als aktueller Wert beibehalten. Daher wird empfohlen, den Erteilungsstatus aller Berechtigungen in der betroffenen Gruppe festzulegen.

Wenn Sie den Berechtigungsstatus auf "Erteilen" festlegen, #PERMISSION_GRANT_STATE_DEFAULT default wird die Berechtigung nicht widerrufen. Wenn vorhanden, behält sie die vorherige Genehmigung bei.

Geräteadministratoren mit einem < können keine Berechtigungen für Anwendungen erteilen und widerrufen, die mit einem < erstellt wurden.

Administratoren mit einem targetSdkVersionandroid.os.Build.VERSION_CODES#Q können Berechtigungen aller Apps erteilen und widerrufen. Ähnlich wie der Benutzer, der eine Berechtigung von einer Anwendung widerrufen hat, die mit einem < der App-Op-Übereinstimmung mit der Berechtigung festgelegt ist, aber die Berechtigung bleibt erteilt.

HINWEIS: Auf Geräten, die ausgeführt und höher ausgeführt werdenandroid.os.Build.VERSION_CODES#S, ist die Kontrolle über folgendes, sensorbezogene Berechtigungen eingeschränkt: <ul><li>Manifest.permission.ACCESS_FINE_LOCATION</li li><>Manifest.permission.ACCESS_BACKGROUND_LOCATION</li li>><Manifest.permission.ACCESS_COARSE_LOCATION</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> Auf Geräten, die ausgeführt android.os.Build.VERSION_CODES#BAKLAVAwerden, sind die android.health.connect.HealthPermissions ebenfalls in der liste eingeschränkten Liste enthalten.

Ein Profilbesitzer darf diese Berechtigungen nicht erteilen (d. h. diese Methode mit einer der oben aufgeführten Berechtigungen und grantState von #PERMISSION_GRANT_STATE_GRANTED), aber sie können sie verweigern.

Ein Gerätebesitzer kann diese Berechtigungen standardmäßig weiterhin erteilen. Für eine erhöhte Benutzersteuerung kann der Administrator jedoch die Steuerung der Zuschüsse für diese Berechtigungen deaktivieren, indem er in die Bereitstellungsparameter eingeschlossen #EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT wird. In diesem Fall ist das Steuerelement des Gerätebesitzers auf die Ablehnung dieser Berechtigungen beschränkt.

Wenn sensorbezogene Berechtigungen aufgrund der oben genannten Fälle nicht gewährt werden können, schlägt das Aufrufen dieser Methode zum Erteilen dieser Berechtigungen im Hintergrund fehl, wenn Geräteadministratoren mit < erstellt werden. Wenn sie mit targetSdkVersion >= android.os.Build.VERSION_CODES#VANILLA_ICE_CREAMerstellt werden, löst diese Methode eine SecurityException.

HINWEIS: Auf Geräten, die ausgeführt und höher ausgeführt android.os.Build.VERSION_CODES#S werden, sind die Kontrolle über die folgenden Berechtigungen für verwaltete Profilbesitzer eingeschränkt: <ul><li>Manifest.permission.READ_SMS</li/ul><>

Ein Besitzer eines verwalteten Profils darf diese Berechtigungen nicht erteilen (d. h. diese Methode mit einer der oben aufgeführten Berechtigungen und grantState von #PERMISSION_GRANT_STATE_GRANTED), aber sie können sie verweigern.

Versuche des Administrators, diese Berechtigungen zu erteilen, wenn der Administrator auf dies beschränkt ist, wird im Hintergrund ignoriert (es wird keine Ausnahme ausgelöst).

Die Kontrolle über die folgenden Berechtigungen ist für verwaltete Profilbesitzer eingeschränkt: <ul<>li>Manifest.permission.READ_SMS</li></ul>

Ein Besitzer eines verwalteten Profils darf diese Berechtigungen nicht erteilen (d. h. diese Methode mit einer der oben aufgeführten Berechtigungen und grantState von #PERMISSION_GRANT_STATE_GRANTED), aber sie können sie verweigern.

Java Dokumentation für android.app.admin.DevicePolicyManager.setPermissionGrantState(android.content.ComponentName, java.lang.String, java.lang.String, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: