2016-10-15 2 views
1

현재 Xamarin.Forms 프로젝트에 다음 항목이 있습니다.OnRequestPermissionsResult() : 재정의 할 적절한 메서드가 없습니다.

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

별도로 다음과 같이 카메라 사용 권한을 요청할 수 있습니다.

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

OnRequestPermissionsResult에서 "재정의"를 제거하면 메시지가 표시되지 않습니다. 그것을 맡기면 컴파일 오류가 발생합니다. "적합한 메소드를 찾지 못했습니다".

답변

2

을. 그렇지 않으면 ActivityCompat.RequestPermissions() 방법에 Context/Activity 응용 프로그램을 제공해야합니다.

당신은 훨씬 더 여기 읽을 수 있습니다 : 앱이 사용자가이를 수용하기위한 UI 나타납니다 요청 권한이 없습니다

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

합니다. 사용자가 요청한 권한을 수락하거나 거절하면 권한이 부여되었는지 여부를보고하는 콜백이 수신됩니다. 귀하의 활동은 ActivityCompat.OnRequestPermissionsResultCallback을 구현해야하며 허가 요청의 결과는 onRequestPermissionsResult(int, String[], int[]) 방법으로 전달됩니다.

+0

그는 'ActivityCompat.RequestPermissions()'에 컨텍스트를 전달하고 있습니다. 같은 문제는 여기에있다. –

4

이것은 인터페이스 상속이 아니므로 구현하고 "override"를 사용하지 마십시오. 또한보고 당신은 Activity에서 ActivityCompat.IOnRequestPermissionsResultCallback 인터페이스를 구현하는 것이 좋습니다 https://github.com/jamesmontemagno/PermissionsPlugin

관련 문제