Sprache

Fragment.RequestPermissions(String[], Int32) Methode

Definition

Fordert Berechtigungen an, die dieser Anwendung erteilt werden sollen.

[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

Parameter

permissions
String[]

Die angeforderten Berechtigungen. Muss ich nicht null und nicht leer sein.

requestCode
Int32

Anwendungsspezifischer Anforderungscode, der mit einem Ergebnis übereinstimmt, das #onRequestPermissionsResult(int, String[], int[])gemeldet wurde. Sollte = 0 sein >.

Attribute

Hinweise

Fordert Berechtigungen an, die dieser Anwendung erteilt werden sollen. Diese Berechtigungen müssen in Ihrem Manifest angefordert werden, sie sollten Ihrer App nicht erteilt werden, und sie sollten die Schutzebene PROTECTION_DANGEROUS gefährlich haben, unabhängig davon, ob sie von der Plattform oder einer Drittanbieter-App deklariert werden. Normale Berechtigungen PermissionInfo.PROTECTION_NORMAL werden zur Installationszeit erteilt, wenn sie im Manifest angefordert wird. Signaturberechtigungen PermissionInfo.PROTECTION_SIGNATURE werden zur Installationszeit erteilt, wenn sie im Manifest angefordert wird, und die Signatur Ihrer App entspricht der Signatur der App, die die Berechtigungen deklariert.

Rufen Sie "shouldShowRequestPermissionRationale(String)" auf, bevor Sie diese API aufrufen, um zu überprüfen, ob das System empfiehlt, eine Rationale-UI anzuzeigen, bevor Sie nach einer Berechtigung fragen.

Wenn Ihre App nicht über die angeforderten Berechtigungen verfügt, wird dem Benutzer die Benutzeroberfläche zur Annahme angezeigt. Nachdem der Benutzer die angeforderten Berechtigungen akzeptiert oder abgelehnt hat, erhalten Sie einen Rückruf für onRequestPermissionsResult(int,String[],int[]) und gibt an, ob die Berechtigungen erteilt wurden oder nicht.

Beachten Sie, dass das Anfordern einer Berechtigung nicht garantiert, dass sie erteilt wird und Ihre App ohne diese Berechtigung ausgeführt werden kann.

Diese Methode kann eine Aktivität starten, mit der der Benutzer auswählen kann, welche Berechtigungen erteilt werden sollen und welche abgelehnt werden sollen. Daher sollten Sie darauf vorbereitet sein, dass Ihre Aktivität angehalten und fortgesetzt werden kann. Darüber hinaus erfordert das Erteilen einiger Berechtigungen möglicherweise einen Neustart der Anwendung. In einem solchen Fall erstellt das System den Aktivitätsstapel neu, bevor das Ergebnis an onRequestPermissionsResult(int,String[],int[]) übermittelt wird.

Wenn Sie überprüfen, ob Sie über eine Berechtigung verfügen, sollten Sie android.content.Context.checkSelfPermission(String) verwenden.

Wenn Sie diese API für Berechtigungen aufrufen, die Ihrer App bereits erteilt wurden, wird dem Benutzer die Benutzeroberfläche angezeigt, um zu entscheiden, ob die App diese Berechtigungen weiterhin enthalten kann. Dies kann nützlich sein, wenn die Art und Weise, wie Ihre App Daten verwendet, die durch die Berechtigungen geschützt sind, erheblich geändert wird.

Sie können keine Berechtigung anfordern, wenn Ihre Aktivität "noHistory" auf "true" festlegt, da in diesem Fall keine Ergebnisrückrufe einschließlich onRequestPermissionsResult(int,String[],int[]) empfangen würden.

Siehe auch:

Android-Referenz für android.app.Fragment.requestPermissions.

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: