Xamarin.Forms.Android在重新安装后不再显示权限弹出窗口



开发一个Xamarin.Forms.Android应用程序,该应用程序在启动时要求一些权限和其他位置。最近,它停止了请求许可,好像已经请求了两次,据我所知,这是目前新安卓的限制。

Permissions.RequestAsync<Permissions.LocationAlways>()

第一次调用时返回被拒绝。

以前,这种情况只发生在第二次启动后,被拒绝,但现在,即使我在设备上卸载、清理、重建、重新安装应用程序,它也会直接被拒绝。

我仍然可以手动进入应用程序权限设置并打开它,这很好,尽管显然不是很优雅。

为什么在最新的Android和最新的稳定xamarin.forms上会发生这种情况。再次,我意识到这是在两次用户拒绝后的预期行为,但对于重新安装的应用程序?

这是一个已知的"特征";安卓11+

显然,您需要在使用权限时首先请求,然后始终请求权限。

var whenInUse = await Permissions.RequestAsync<Permissions.LocationWhenInUse>();
var always = await Permissions.RequestAsync<Permissions.LocationAlways>();

https://developer.android.com/training/location/permissions#request-仅前台

最新更新