我有一个Xamarin.Forms application
, 它使用Xamarin.Essentials
和Plugin.Permissions
插件。
permissionStatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
在UWP
,它抛出一个异常
“服务器执行失败”。
任何想法可能导致它,以及如何解决这个问题?
我有一个Xamarin.Forms application
, 它使用Xamarin.Essentials
和Plugin.Permissions
插件。
permissionStatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
在UWP
,它抛出一个异常
“服务器执行失败”。
任何想法可能导致它,以及如何解决这个问题?
根据您的代码,我猜您想请求并检查位置权限,如果是,您可以查看以下代码来请求位置权限。
try
{
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(Permission.Location);
status = results[Permission.Location];
}
if (status == PermissionStatus.Granted)
{
var results = await CrossGeolocator.Current.GetPositionAsync(TimeSpan.FromSeconds(10));
LabelGeolocation.Text = "Lat: " + results.Latitude + " Long: " + results.Longitude;
}
else if(status != PermissionStatus.Unknown)
{
await DisplayAlert("Location Denied", "Can not continue, try again.", "OK");
}
}
catch (Exception ex)
{
LabelGeolocation.Text = "Error: " + ex;
}
请在之前检查 package.appxmanifest 中的位置。