Activity.RequestPermissions(String[], Int32) Método

Definición

Solicita permisos para conceder a esta aplicación.

[Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;I)V", "", ApiSince=23)]
public void RequestPermissions (string[] permissions, int requestCode);
[<Android.Runtime.Register("requestPermissions", "([Ljava/lang/String;I)V", "", ApiSince=23)>]
member this.RequestPermissions : string[] * int -> unit

Parámetros

permissions
String[]

Permisos solicitados. Debe ser distinto de NULL y no estar vacío.

requestCode
Int32

Código de solicitud específico de la aplicación para que coincida con un resultado notificado a #onRequestPermissionsResult(int, String[], int[]). Debe ser >= 0.

Atributos

Comentarios

Solicita permisos para conceder a esta aplicación. Estos permisos deben solicitarse en el manifiesto, no deben concederse a la aplicación y deben tener el nivel android.content.pm.PermissionInfo#PROTECTION_DANGEROUS dangerousde protección , independientemente de si se declaran en la plataforma o en una aplicación de terceros.

Los permisos android.content.pm.PermissionInfo#PROTECTION_NORMAL normales se conceden en tiempo de instalación si se solicitan en el manifiesto. Los permisos android.content.pm.PermissionInfo#PROTECTION_SIGNATURE de firma se conceden en tiempo de instalación si se solicitan en el manifiesto y la firma de la aplicación coincide con la firma de la aplicación que declara los permisos.

Llame #shouldShowRequestPermissionRationale(String) a antes de llamar a esta API para comprobar si el sistema recomienda mostrar una interfaz de usuario racional antes de solicitar un permiso.

Si la aplicación no tiene los permisos solicitados, se le presentará la interfaz de usuario para aceptarlos. Una vez que el usuario haya aceptado o rechazado los permisos solicitados, recibirá una devolución de llamada para #onRequestPermissionsResult(int, String[], int[]) notificar si se concedieron o no los permisos.

Tenga en cuenta que solicitar un permiso no garantiza que se le conceda y la aplicación debe poder ejecutarse sin tener este permiso.

Este método puede iniciar una actividad que permita al usuario elegir qué permisos conceder y cuáles rechazar. Por lo tanto, debe estar preparado para que la actividad se pueda pausar y reanudar. Además, conceder algunos permisos puede requerir un reinicio de la aplicación. En tal caso, el sistema volverá a crear la pila de actividad antes de entregar el resultado a #onRequestPermissionsResult(int, String[], int[]).

Al comprobar si tiene un permiso, debe usar #checkSelfPermission(String).

No puede solicitar un permiso si la actividad establece android.R.styleable#AndroidManifestActivity_noHistory noHistorytrue en porque, en este caso, la actividad no recibiría devoluciones de llamada de resultados, incluidas #onRequestPermissionsResult(int, String[], int[]).

Las aplicaciones de ejemplo RuntimePermissions muestran cómo usar este método para solicitar permisos en tiempo de ejecución.

Documentación de Java para android.app.Activity.requestPermissions(java.lang.String[], int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código y se usan según los términos descritos en la creative Commons 2.5.

Se aplica a