当我在我的应用中使用位置功能时,如果我想让应用获取我的位置,我会在第一次启动时收到问题。
之后我可以在魅力熊上设置这个选项,而不是自己实现它。
现在的问题是:
如果用户将魅力栏中的此选项更改为true或false,我该如何捕捉事件?
我添加了一张图片,但是它是德语版的Windows 8。
答案 0 :(得分:0)
您需要使用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;
}
您可以获得以下几种状态:
如果您获得已禁用状态,则表示该用户已停用位置服务权限。如果您获得其中一个,则表示用户已启用位置服务权限。
来自documentation :
如果用户在禁用后重新启用位置访问权限,则表示没有 通知应用程序。 status属性不会改变 是没有statusChanged事件。您的应用应该创建一个新的Geolocator 对象并调用getGeopositionAsync以尝试获取更新的位置 数据,或再次订阅positionChanged事件。如果状态那么 表示该位置已重新启用,清除您的任何用户界面 应用程序先前已通知用户已禁用位置服务, 并适当回应新的状态。