【发布时间】:2020-03-14 04:44:29
【问题描述】:
我有一个代码,我在其中请求位置权限,并且我想显示用户是否拒绝或授予权限的输出。无论用户是否授予或拒绝了权限,我都没有得到任何输出。我也在 Manifest 中指定了权限。
这是我的代码:
void AskPermissionNew(object sender, EventArgs e)
{
Task.Run(async () =>
{
var permissionStatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
if (permissionStatus != PermissionStatus.Granted)
{
var response = await CrossPermissions.Current.RequestPermissionsAsync(Permission.Location);
var userResponse = response[Permission.Location];
Debug.WriteLine($"Permission {Permission.Location} {userResponse}"); // I cannot display output here
}
else
{
Debug.WriteLine($"2 Permission {Permission.Location} {permissionStatus}");
}
});
}
【问题讨论】:
-
你为什么post this again?
-
@GabrielLuci,这是不同的问题,在这里我使用等待后没有得到任何输出。在上一个问题上,等待后我无法获得位置。基本上这是我面临的普遍问题。
-
当我在 Google 上搜索 "RequestPermissionsAsync" 时,我看到很多关于它根本没有返回的投诉。所以这可能是你问题的根源。您是否尝试过调试并单步执行代码以查看
RequestPermissionsAsync是否真的返回? -
是的,我觉得
RequestPermissionsAsync有问题,答案参考我上一个问题的答案stackoverflow.com/a/58939243/8304176。 -
@JunedKhanMomin,请在三天后发表您的评论以回答并标记,这将对有类似问题的其他人有所帮助
标签: c# xamarin xamarin.forms async-await