C# Xamarin权限插件RequestPermissionsAsync未返回
我试着在creators github帐户中打开这张罚单,但他只是一直关闭它,没有确认问题已经解决 我正在尝试为xamarin表单权限实现插件,除了一件事之外,其他一切都很好,当我尝试使用真实设备请求权限时,任务永远不会返回用户是否允许或拒绝请求。当我重新启动项目时,我可以看到用户关于权限的最后一个操作已经生效,但是在请求的那一刻,该功能只是挂起,我无法根据用户选择的内容做出决定。下面是一段代码片段C# Xamarin权限插件RequestPermissionsAsync未返回,c#,xamarin,xamarin.forms,permissions,C#,Xamarin,Xamarin.forms,Permissions,我试着在creators github帐户中打开这张罚单,但他只是一直关闭它,没有确认问题已经解决 我正在尝试为xamarin表单权限实现插件,除了一件事之外,其他一切都很好,当我尝试使用真实设备请求权限时,任务永远不会返回用户是否允许或拒绝请求。当我重新启动项目时,我可以看到用户关于权限的最后一个操作已经生效,但是在请求的那一刻,该功能只是挂起,我无法根据用户选择的内容做出决定。下面是一段代码片段 var status = await CrossPermissions.Current.Chec
var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
if (status != PermissionStatus.Granted)
{
//This line never returns
var results = await CrossPermissions.Current.RequestPermissionsAsync(Permission.Location);
status = results[Permission.Location];
}
也许这里的任何人都能说明问题?任何帮助都将不胜感激。谢谢。除了在Android清单中指定权限和初始化CurrentActivity外,不要忘记覆盖MainActivity中的OnRequestPermissionsResult方法,以便将权限结果传递给PermissionsImplementation,如页面所述:
这个问题我已经解决了一段时间了。您可以按照这些步骤来确保完美的安装 在NuGet解决方案管理器中:-
CrossCurrentActivity.Current.Activity=this行base.OnCreate(bundle/savedInstanceState)后的code>代码>在受保护的override void OnCreate
方法下
public override void OnRequestPermissionsResult(int-requestCode,string[]permissions,[GeneratedEnum]Android.Content.PM.Permission[]grantResults)
{
PermissionsImplementation.Current.OnRequestPermissionsResult(请求代码、权限、grantResults);
base.OnRequestPermissionsResult(请求代码、权限、GrantResult);
}
现在你应该已经有了一个完美的安装,去重试你的代码,它现在应该可以工作了。你在平台特定的代码中植入了插件吗?是的,这是我看到的第一件事,这是创建者一直在说的,但我已经做了itAndroid或iOS平台?设备的API级别或iOS版本?目前是Android,在HTC One M9上进行API级别24的测试。谢谢,我的情况下缺少currentactivity插件
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Permission[] grantResults)
{
Plugin.Permissions.PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}