Wie bewerben Sie sich erfolgreich Berechtigungen für die Laufzeit im Android?

Möchte ich Euch bitten, für jede Berechtigung, die der Benutzer nach der Installation der app.

Ist es möglich, Berechtigungen für die Laufzeit von der aktuellen API(7.0) - API level 19 (4.4)?

Ich habe die Dokumentation gelesen und ich habe versucht, eine Menge Beispiele.
Alles scheint zu Komplex und ich habe sogar gesehen, plugins, um die Berechtigungen anzufordern.

Bietet die Dokumentation ein Beispiel usign mehrere NuGet-Pakete:
https://developer.xamarin.com/samples/monodroid/android-m/RuntimePermissions/

Aber es funktioniert nur mit Android M (6.0 API level 23) und vor...

Dieser Artikel spricht darüber:
https://blog.xamarin.com/requesting-runtime-permissions-in-android-marshmallow/

Zum Beispiel, in meinem Fall möchte ich prüfen, ob die app die "Berechtigung " KAMERA" und wenn Sie nicht Fragen, für den Benutzer, so etwas wie dieses:

if (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(this, Manifest.Permission.Camera) != (int)Permission.Granted) {
    //Permission has never been accepted
    //So, I ask the user for permission
    ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.Camera }, REQUEST_CAMERA);
} else {
    //Permission has already been accepted previously
}

Öffnet sich die Anwendung, ohne dass etwas angezeigt wird.
Der check funktioniert, aber "RequestPermissions" nicht Fragen, nichts an den Benutzer.

  1. Warum nicht alles zeigen?
  2. Warum ich "ActivityCompat", wenn auch nicht in Versionen vor M?

Kann mir jemand ein Beispiel zur Anforderung der Laufzeit die Berechtigung, von einem einfachen code (kompatibel mit Versionen vor M)?

Da niemand geantwortet hat: kann nicht geben Sie ein code-Beispiel, aber wenigstens etwas hintergrund. Für Versionen der Geräte vor der M, der Benutzer kann sich nicht zurückziehen von Berechtigungen. Sie erhalten automatisch bei der Installation aus. So ContextCompat.CheckSelfPermission() wird immer true zurück. Leider, es wird auch true zurückgegeben, wenn targetSDK < M und ein Gerät mit M oder höher, auch wenn der Benutzer Widerruf der Erlaubnis. (dies gilt für native android-dev, bitte testen Sie, um sicherzustellen, dass es gültig für xamarin als gut. In native dev können Sie PermissionChecker.checkSelfPermission() in diesem Fall)
Ich würde vorschlagen, Sie schauen sich diese Antwort stackoverflow.com/questions/40116612/... und stackoverflow.com/questions/36027167/...

InformationsquelleAutor ephramd | 2016-10-19

Schreibe einen Kommentar