我有一个android webview应用程序,它使用HTML5 navigator.geolocation
功能来获取用户的位置。使用HTML5的地理位置功能的最好之处在于,当使用FakeGps等其他应用打开模拟位置时,navigator.geolocation
不会
给出地理位置。这很好,因为可以向用户显示,告诉他们关闭其模拟位置。
问题是位置是应用程序的关键功能,我尝试了几种方法来通过android代码关闭模拟位置。例如:
检测是否存在模拟位置应用程序,并使用 Location Manager 从系统中删除测试提供程序,但这会给我JavaSecurityException。
尝试从用户需要的图像中获取EXIF数据,然后再执行操作,但这还会返回模拟位置。
使用Google的Fused API来获取真实位置,但结果以徒劳告终
使用 processBuilder
settings put secure mock_location 0
如果我的navigator.geolocation
无法提供坐标,是否可以通过任何方式从android设备获取真实位置?