无法在Xamarin Android中重写onRequestPermissionResult

无法在Xamarin Android中重写onRequestPermissionResult,android,exception,xamarin,overriding,Android,Exception,Xamarin,Overriding,这里是Xamarin的新手。我无法运行我的应用程序,因为每当我试图打开它以解决权限问题时,Camera都会引发异常,因此我遵循了有关在运行时请求权限的文档,但它说我必须重写onRequestPermissionResult方法,但编译器说: 当前上下文中不存在@Override一词 如果我在方法之间使用override关键字 公共覆盖onRequestPermissionResult 我得到另一个错误: 找不到可重写的合适方法 我不知道这是否是继承的问题,但是我不能让这个类继承更多的内容,因为它

这里是Xamarin的新手。我无法运行我的应用程序,因为每当我试图打开它以解决权限问题时,Camera都会引发异常,因此我遵循了有关在运行时请求权限的文档,但它说我必须重写onRequestPermissionResult方法,但编译器说:

当前上下文中不存在@Override一词

如果我在方法之间使用override关键字

公共覆盖onRequestPermissionResult

我得到另一个错误:

找不到可重写的合适方法

我不知道这是否是继承的问题,但是我不能让这个类继承更多的内容,因为它已经继承了PageRenderer类。抱歉,如果这是一个愚蠢的问题,但经过长时间的研究,我想不出如何解决它


提前感谢。

您可以通过添加以下行在android清单中启用摄像头权限:

<uses-permission android:name="android.permission.Camera" />
要获得反馈,请覆盖OnRequestPermissionsResult:

public override  void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
        {
            switch (requestCode)
            {
                case RequestId:
                    {
                        if (grantResults[0] == Permission.Granted)
                        {
                            //Permission granted

                        }
                        else
                        {
                            //Permission Denied :

                        }
                    }
                    break;
            }
        }

希望这有帮助

您正在使用Xamarin.Forms,对吗?如果是这样,您需要在Android项目中使用DependencyService并请求权限

它应该是OnRequestPermissionsResult,而不是onRequestPermissionResult


不要发布代码的图像,而是发布代码本身。还可以添加您尝试在其中执行此操作的类的更多代码。
public override  void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
        {
            switch (requestCode)
            {
                case RequestId:
                    {
                        if (grantResults[0] == Permission.Granted)
                        {
                            //Permission granted

                        }
                        else
                        {
                            //Permission Denied :

                        }
                    }
                    break;
            }
        }
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Permission[] grantResults)
{
    base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}