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的地图。无论我想要位置许可的目的是什么,位置许可的请求都会彻底失败。