禁用没有用户设置页面的模拟位置

时间:2016-07-22 08:38:16

标签: android location

我创建了用于检查Mock Settings状态的实现,我想知道,我可以动态禁用Mock Locations吗?

1 个答案:

答案 0 :(得分:0)

如果通过

  

动态

你的意思是以编程方式(即通过对话框/你的应用程序中的一段代码),答案是。模拟位置是开发人员的一项功能,因此要启用/禁用它们,您将用户发送到系统的开发人员设置。

在向用户发送用户之前,您可能想要检测是否实际启用了模拟位置。对于API级别< 18这是通过Settings.Secure标志完成的,对于> = 18,您可以使用新引入的Location.isFromMockProvider()。我编写了一个小实用程序类,可以可靠地检测所有最近(非根)Android设备上的模拟位置:

LocationAssistant - Hassle-free location updates on Android

它处理并封装大部分位置设置,也可以拒绝模拟位置。也许你会为你的用例找到方便的课程。