我正在请求位置许可(如果被拒绝),但是在发出请求并且用户点击以拒绝或允许该许可后,什么都没有返回,status = results[Permission.Location];
行从未命中,我想这是因为这是一个值得期待的电话,所以有人可以告诉我为什么吗?
我应该提到的是,如果在看起来什么都没做之后立即再次调用此代码,则行await vm.RefreshCampaigns();
被命中,因此正在设置权限,只是调用没有返回。我正在共享项目中运行此代码。
private async void GrantPermission(object sender, ItemTappedEventArgs e)
{
try
{
var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
if (status != PermissionStatus.Granted)
{
var results = await CrossPermissions.Current.RequestPermissionsAsync(Permission.Location);
status = results[Permission.Location];
}
if (status == PermissionStatus.Granted)
{
vm.ShowPermissionWarning = false;
await vm.RefreshCampaigns();
}
}
catch (Exception ex)
{
Crashes.TrackError(ex);
}
}