Context.RevokeSelfPermissionsOnKill(ICollection<String>) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Déclenche la révocation d’une ou plusieurs autorisations pour le package appelant.
[Android.Runtime.Register("revokeSelfPermissionsOnKill", "(Ljava/util/Collection;)V", "GetRevokeSelfPermissionsOnKill_Ljava_util_Collection_Handler", ApiSince=33)]
public virtual void RevokeSelfPermissionsOnKill(System.Collections.Generic.ICollection<string> permissions);
[<Android.Runtime.Register("revokeSelfPermissionsOnKill", "(Ljava/util/Collection;)V", "GetRevokeSelfPermissionsOnKill_Ljava_util_Collection_Handler", ApiSince=33)>]
abstract member RevokeSelfPermissionsOnKill : System.Collections.Generic.ICollection<string> -> unit
override this.RevokeSelfPermissionsOnKill : System.Collections.Generic.ICollection<string> -> unit
Paramètres
- permissions
- ICollection<String>
Collection d’autorisations à révoquer.
- Attributs
Remarques
Déclenche la révocation d’une ou plusieurs autorisations pour le package appelant. Un package est uniquement en mesure de révoquer les autorisations d’exécution. Si une autorisation n’est pas actuellement accordée, elle est ignorée et ne sera pas révoquée (même si elle est accordée ultérieurement par l’utilisateur). En fin de compte, vous ne devez jamais faire d’hypothèses sur un statut d’autorisation, car les utilisateurs peuvent leur accorder ou les révoquer à tout moment.
Les autorisations en arrière-plan qui n’ont aucune autorisation de premier plan correspondante encore accordée une fois la révocation effective seront également révoquées.
La révocation se produit de façon asynchrone et tue tous les processus en cours d’exécution dans l’UID appelant. Il sera déclenché une fois qu’il est sûr de le faire. En particulier, il ne sera pas déclenché tant que le package reste au premier plan ou possède des composants manifeste actifs (par exemple, lorsqu’une autre application accède à un fournisseur de contenu dans le package).
Si vous souhaitez révoquer immédiatement les autorisations, vous pouvez appeler System.exit()Handler.postDelayed avec un délai pour autoriser l’achèvement de l’IPC asynchrone, mais System.exit() peut affecter d’autres applications qui accèdent à votre application en ce moment. Par exemple, les applications accédant à un fournisseur de contenu dans votre application se bloquent toutes.
Notez que l’interface utilisateur des paramètres affiche un groupe d’autorisations accordé tant qu’au moins une autorisation dans le groupe est accordée. Si vous souhaitez que l’utilisateur observe la révocation dans les paramètres, vous devez révoquer chaque autorisation dans le groupe cible. Pour découvrir la liste actuelle des autorisations dans un groupe, vous pouvez utiliser PackageManager#getGroupOfPlatformPermission(String, Executor, Consumer) et PackageManager#getPlatformPermissionsForGroup(String, Executor, Consumer). Cette liste d’autorisations peut évoluer au fil du temps. Il est donc recommandé de vérifier s’il contient une autorisation que vous souhaitez conserver avant d’essayer de révoquer un groupe entier.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.