UWP:如果用户拒绝了特定应用程序的位置服务,如何检查?

UWP: How to check, if a user denied location-services for a specific app?

我正在为 Windows 10 Mobile 开发 UWP-App。 我希望能够区分位置服务是完全禁用还是用户仅拒绝访问我的特定应用程序的位置。

我已经通过使用 await Geolocator.RequestAccessAsync() 获得了 GeolocationAccessStatus,但这总是导致 GeolocationAccessStatus.Denied,无论用户是否拒绝某个特定应用程序的位置,或者他是否禁用整体 GPS。

有没有办法区分这两种情况?

无法获取此信息。您已经在使用适当的 API 来获取访问状态。

您可以在位置页面上启动设置应用程序,让用户使用以下 URI 在全局和您的应用程序中激活位置:ms-settings:privacy-location

bool result = await Launcher.LaunchUriAsync(new Uri("ms-settings:privacy-location"));

您将找到所有可用的设置 URI here