Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.forms android权限提示未显示_Android_Xamarin_Xamarin.forms - Fatal编程技术网

Xamarin.forms android权限提示未显示

Xamarin.forms android权限提示未显示,android,xamarin,xamarin.forms,Android,Xamarin,Xamarin.forms,我用的是詹姆斯·蒙特马诺的 我基本上复制了这个示例,但是在请求它的行之后,权限是未知的。甚至没有显示任何对话框 var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location); if (status != PermissionStatus.Granted) { if (await CrossPerm

我用的是詹姆斯·蒙特马诺的

我基本上复制了这个示例,但是在请求它的行之后,权限是未知的。甚至没有显示任何对话框

var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
            if (status != PermissionStatus.Granted)
            {
                if (await CrossPermissions.Current.ShouldShowRequestPermissionRationaleAsync(Permission.Location))
                {
                    await DisplayAlert("Need location", "Gunna need that location", "OK");
                }

                var results = await CrossPermissions.Current.RequestPermissionsAsync(new[] { Permission.Location });
                status = results[Permission.Location];
            }
            if (status == PermissionStatus.Granted)
            {
                //var results = await CrossGeolocator.Current.GetPositionAsync(10000);
                //LabelGeolocation.Text = "Lat: " + results.Latitude + " Long: " + results.Longitude;
            }
            else if (status != PermissionStatus.Unknown)
            {
                await DisplayAlert("Location Denied", "Can not continue, try again.", "OK");
            }
            Debug.WriteLine("Location permission: {0}", status);
我拥有android清单中的权限。当我将目标平台更新到6.0+时,这个问题才开始出现

我还将此添加到我的主要活动中

public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
        {
            PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
        }

这个问题是不同的,因为它与地图无关。我无法使用任何实时权限,因为应用程序中根本没有显示提示。

有些MainApplication.cs没有随插件一起安装。它被放在正确的目录中,但我必须手动将其添加到项目中。我不太清楚为什么会发生这种情况,但你可以这样做。

在我的例子中,
MainApplication.cs
没有添加到我的Android项目中。我使用的更好的方法是卸载
CurrentActivity插件
以及依赖它的所有
numget
。我再次安装了
CurrentActivity插件
和所有其他插件。现在,
MainApplication.cs
位于Android项目的根目录中。

这个问题的可能重复不是重复,因为我在问为什么使用插件请求权限不起作用。没有提到xaml的地图。无论我想要位置许可的目的是什么,位置许可的请求都会彻底失败。