Context.RevokeSelfPermissionsOnKill(ICollection<String>) Método

Definición

Desencadena la revocación de uno o varios permisos para el paquete de llamada.

[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

Parámetros

permissions
ICollection<String>

Colección de permisos que se van a revocar.

Atributos

Comentarios

Desencadena la revocación de uno o varios permisos para el paquete de llamada. Un paquete solo puede revocar permisos en tiempo de ejecución. Si no se concede actualmente un permiso, se omite y no se revocará (incluso si el usuario lo concede más adelante). En última instancia, nunca debe hacer suposiciones sobre un estado de permiso, ya que los usuarios pueden concederlos o revocarlos en cualquier momento.

También se revocarán los permisos en segundo plano que no tengan el permiso de primer plano correspondiente una vez que la revocación sea efectiva.

La revocación se produce de forma asincrónica y elimina todos los procesos que se ejecutan en el UID que realiza la llamada. Se desencadenará una vez que sea seguro hacerlo. En concreto, no se desencadenará siempre que el paquete permanezca en primer plano o tenga componentes de manifiesto activos (por ejemplo, cuando otra aplicación acceda a un proveedor de contenido en el paquete).

Si quiere revocar los permisos inmediatamente, podría llamar System.exit() a con Handler.postDelayed un retraso para permitir la finalización de IPC asincrónico, pero System.exit() podría afectar a otras aplicaciones que acceden a la aplicación en este momento. Por ejemplo, las aplicaciones que acceden a un proveedor de contenido de la aplicación se bloquearán.

Tenga en cuenta que la interfaz de usuario de configuración muestra un grupo de permisos concedido siempre que se conceda al menos un permiso en el grupo. Si desea que el usuario observe la revocación en la configuración, debe revocar todos los permisos del grupo de destino. Para obtener información sobre la lista actual de permisos en un grupo, puede usar PackageManager#getGroupOfPlatformPermission(String, Executor, Consumer) y PackageManager#getPlatformPermissionsForGroup(String, Executor, Consumer). Esta lista de permisos puede evolucionar con el tiempo, por lo que se recomienda comprobar si contiene cualquier permiso que desee conservar antes de intentar revocar un grupo completo.

Java documentación para android.content.Context.revokeSelfPermissionsOnKill(java.util.Collection<java.lang.String>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a