簡體   English   中英

OnRequestPermissionsResult():找不到適合的方法來覆蓋

[英]OnRequestPermissionsResult(): no suitable method found to override

我目前在Xamarin.Forms項目中具有以下內容。

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中刪除“ override”,則不會收到任何消息。 保留它,我得到了編譯錯誤“找不到合適的方法來覆蓋”。

這是接口實現而不是繼承,因此只需實現它,就不要使用“覆蓋”。 還可以看看https://github.com/jamesmontemagno/PermissionsPlugin

您將要實施ActivityCompat.IOnRequestPermissionsResultCallback在界面Activity 否則,您將需要向ActivityCompat.RequestPermissions()方法提供應用程序Context / Activity

您可以在這里閱讀更多內容:

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

如果您的應用沒有所請求的權限,則會向用戶顯示用於接受它們的UI。 用戶接受或拒絕所請求的權限后,您將收到一個回調,報告是否授予了權限。 您的活動必須實現ActivityCompat.OnRequestPermissionsResultCallback ,權限請求的結果將傳遞到其onRequestPermissionsResult(int,String [],int [])方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM