Lingua

Fragment.RequestPermissions(String[], Int32) Metodo

Definizione

Richiede autorizzazioni da concedere all'applicazione.

[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

Parametri

permissions
String[]

Autorizzazioni richieste. Deve essere diverso da null e non vuoto.

requestCode
Int32

Codice di richiesta specifico dell'applicazione per la corrispondenza con un risultato segnalato a #onRequestPermissionsResult(int, String[], int[]). Deve essere >= 0.

Attributi

Commenti

Richiede autorizzazioni da concedere all'applicazione. Queste autorizzazioni devono essere richieste nel manifesto, non devono essere concesse all'app e devono avere un livello di protezione PROTECTION_DANGEROUS pericoloso, indipendentemente dal fatto che siano dichiarate dalla piattaforma o da un'app di terze parti. Le autorizzazioni normali PermissionInfo.PROTECTION_NORMAL vengono concesse in fase di installazione se richiesto nel manifesto. Le autorizzazioni di firma PermissionInfo.PROTECTION_SIGNATURE vengono concesse in fase di installazione se richieste nel manifesto e la firma dell'app corrisponde alla firma dell'app che dichiara le autorizzazioni.

Chiamare shouldShowRequestPermissionRationale(String) prima di chiamare questa API per verificare se il sistema consiglia di mostrare un'interfaccia utente razionale prima di richiedere un'autorizzazione.

Se l'app non dispone delle autorizzazioni richieste, l'utente verrà presentato all'interfaccia utente per accettarli. Dopo che l'utente ha accettato o rifiutato le autorizzazioni richieste, si riceverà un callback su onRequestPermissionsResult(int,String[],int[]) che segnala se le autorizzazioni sono state concesse o meno.

Si noti che la richiesta di un'autorizzazione non garantisce che venga concessa e che l'app debba essere in grado di eseguire senza disporre di questa autorizzazione.

Questo metodo può avviare un'attività che consente all'utente di scegliere quali autorizzazioni concedere e quali rifiutare. Di conseguenza, si dovrebbe essere preparati che l'attività può essere sospesa e ripresa. Inoltre, la concessione di alcune autorizzazioni potrebbe richiedere un riavvio dell'applicazione. In tal caso, il sistema ricrea lo stack di attività prima di recapitare il risultato a onRequestPermissionsResult(int,String[],int[]).

Quando si verifica se si dispone di un'autorizzazione è necessario usare android.content.Context.checkSelfPermission(String).

Chiamando questa API per le autorizzazioni già concesse all'app, l'interfaccia utente verrà visualizzata all'utente per decidere se l'app può ancora contenere queste autorizzazioni. Ciò può essere utile se il modo in cui l'app usa i dati sorvegliati dalle autorizzazioni cambia significativamente.

Non è possibile richiedere un'autorizzazione se l'attività imposta noHistory su true perché in questo caso l'attività non riceverà callback dei risultati, incluso onRequestPermissionsResult(int,String[],int[]).

Vedere anche:

Informazioni di riferimento su Android per android.app.Fragment.requestPermissions.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a