当我在我的应用程序中使用位置功能时,如果我想允许应用程序获取我的位置,我会在第一次开始时收到一个问题。
然后稍后我可以在魅力熊上设置此选项,而无需自己实施。
现在的问题:
如果用户将魅力栏中的此选项更改为真或假,我如何捕捉事件?
我添加了一张图片,但它是德国版的 Windows 8。
当我在我的应用程序中使用位置功能时,如果我想允许应用程序获取我的位置,我会在第一次开始时收到一个问题。
然后稍后我可以在魅力熊上设置此选项,而无需自己实施。
现在的问题:
如果用户将魅力栏中的此选项更改为真或假,我如何捕捉事件?
我添加了一张图片,但它是德国版的 Windows 8。
您需要使用该GeoLocator
StatusChanged
事件来捕获位置服务更改。
这是一个 C# 示例。您没有标记编程语言,但您可以通过它了解想法并使用您选择的语言。
Geolocator location;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
location = new Geolocator();
location.StatusChanged += location_StatusChanged;
}
async void location_StatusChanged(Geolocator sender, StatusChangedEventArgs args)
{
var new_status = args.Status;
}
您可以获得以下几种状态:
如果您获得禁用状态,则表示用户禁用了位置服务权限。如果您获得其中之一,则意味着用户已启用位置服务权限。
从文档中:
如果用户在禁用位置访问后重新启用它,则不会通知应用程序。status 属性没有改变,也没有 statusChanged 事件。您的应用应创建一个新的 Geolocator 对象并调用 getGeopositionAsync 以尝试获取更新的位置数据,或再次订阅 positionChanged 事件。如果状态随后表明位置已重新启用,请清除您的应用先前通知用户位置服务已禁用的任何 UI,并对新状态做出适当响应。