我创建了用于检查Mock Settings
状态的实现,我想知道,我可以动态禁用Mock Locations
吗?
答案 0 :(得分:0)
如果通过
动态
你的意思是以编程方式(即通过对话框/你的应用程序中的一段代码),答案是否。模拟位置是开发人员的一项功能,因此要启用/禁用它们,您有将用户发送到系统的开发人员设置。
在向用户发送用户之前,您可能想要检测是否实际启用了模拟位置。对于API级别< 18这是通过Settings.Secure标志完成的,对于> = 18,您可以使用新引入的Location.isFromMockProvider()。我编写了一个小实用程序类,可以可靠地检测所有最近(非根)Android设备上的模拟位置:
LocationAssistant - Hassle-free location updates on Android
它处理并封装大部分位置设置,也可以拒绝模拟位置。也许你会为你的用例找到方便的课程。