2016-10-15 2 views
1

Ich habe derzeit die folgenden in einem Xamarin.Forms-Projekt.OnRequestPermissionsResult(): keine geeignete Methode zum Überschreiben

public class CameraPageRenderer : PageRenderer, ActivityCompat.IOnRequestPermissionsResultCallback { 
    ... 
    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) { 
     Console.WriteLine("testing callback"); 
    } 
    ... 
} 

Separat habe ich folgende um die Kamera Erlaubnis zu verlangen.

var perms = new string[] {Manifest.Permission.Camera}; 
ActivityCompat.RequestPermissions((Context as Activity), perms, 0); 

Wenn ich "override" von OnRequestPermissionsResult entfernen, erhalte ich keine Nachricht. Wenn ich es belasse, bekomme ich den Kompilierfehler "keine geeignete Methode zum Überschreiben gefunden".

Antwort

2

Sie das ActivityCompat.IOnRequestPermissionsResultCallback Schnittstelle in einem Activity implementieren möchten. Andernfalls müssen Sie eine Context/Activity Anwendung an die ActivityCompat.RequestPermissions() Methode bereitstellen.

Sie können viel mehr hier lesen:

https://developer.android.com/reference/android/support/v4/app/ActivityCompat.html#requestPermissions(android.app.Activity, java.lang.String[], int)

Wenn Ihre App der Benutzer die angeforderten Berechtigungen nicht haben wird für die Annahme von ihnen mit UI präsentiert. Nachdem der Benutzer die angeforderten Berechtigungen akzeptiert oder abgelehnt hat, erhalten Sie einen Rückruf, in dem Sie darüber berichten, ob die Berechtigungen erteilt wurden oder nicht. Ihre Aktivität muss ActivityCompat.OnRequestPermissionsResultCallback implementieren und die Ergebnisse von Berechtigungsanforderungen werden an die onRequestPermissionsResult(int, String[], int[])-Methode übermittelt.

+0

Er übergibt einen Kontext an die 'ActivityCompat.RequestPermissions()'. Das gleiche Problem hier –

Verwandte Themen