请求位置权限不会返回(Xamarin表单)

时间:2019-02-27 13:47:19

标签: c# xamarin.forms

我正在请求位置许可(如果被拒绝),但是在发出请求并且用户点击以拒绝或允许该许可后,什么都没有返回,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);
    }
}

0 个答案:

没有答案