Android将我们的位置列入黑名单

Android将我们的位置列入黑名单,android,gps,Android,Gps,我们已经在应用程序中创建了LocationListener。有时,手机会进入“GPS间隙”,并简单地停止报告位置数据。我们已经观察了一段时间,唯一能让它摆脱这种状态的是重新启动手机 我把它们连接起来取下原木,发现了这个: 02-18 13:35:43.671 703 948 I LocationManagerService: handleLocationChanged for android.uid.system:1000, Provider: passive 02-18 13:35:4

我们已经在应用程序中创建了LocationListener。有时,手机会进入“GPS间隙”,并简单地停止报告位置数据。我们已经观察了一段时间,唯一能让它摆脱这种状态的是重新启动手机

我把它们连接起来取下原木,发现了这个:

02-18 13:35:43.671   703   948 I LocationManagerService: handleLocationChanged for android.uid.system:1000, Provider: passive
02-18 13:35:43.671   703   948 I LocationManagerService: handleLocationChanged for com.google.uid.shared:10040, Provider: passive
02-18 13:35:43.671   703   948 I LocationManagerService: handleLocationChanged for com.google.uid.shared:10040, Provider: passive
02-18 13:35:43.671   703   948 D LocationManagerService: dropping location (blacklisted): com.google.android.apps.maps matches com.google.
查看上面提到的源文件,它只是检查它创建的黑名单,如果它在黑名单中,显然不会报告该点

看看上面的代码,它看起来像是阻止了com.google的位置数据,但我不知道为什么


我搜索了一下,没有找到任何相关信息,希望能得到一些帮助。

您应该将手机插入IDE并重新启动它,同时观察是否存在可能导致位置禁令的任何更改。我认为可能的原因是您的设备标识符需要一些时间才能在手机天线上注册,这就是导致重新启动暂时出现的原因,从而解决了问题。

位置黑名单和白名单存储在
设置中。安全
位置包PrefixBlackList
locationPackagePrefixWhitelist分别为。这些值包含逗号分隔的包名称前缀
LocationBlacklist.isBlacklist()
首先检查黑名单是否匹配,然后检查白名单是否存在异常
location黑名单
注册一个
ContentObserver
,因此对设置值的任何更改都会立即生效

从Android 5.1开始,这些列表由
LocationManagerService
getLastLocation()
handleLocationChangedLocked()
以及
GeofenceManager
UpdateFunces()
查阅。如果应用程序的前缀或全名被列入黑名单,它们只返回null或静默退出。所有其他位置API不受影响

由于您正在观察黑名单中的运行时更改,因此必须有一个系统进程在引导后的某个时间将
com.google
添加到
设置.Secure
值。如果您无法识别该值,那么通过sqlite3命令行手动更改该值可能会恢复应用程序的更新。它可能会在某个时候被更改回来,但识别罪犯可能比每次都要等待重新启动要容易得多。您还可以尝试将
com.google.android.apps.maps
添加到白名单例外


至于问题的根本原因,我的猜测是,黑名单是由您设备上的GAPP的某些部分执行的。也许它认为它是在模拟器或虚拟机中运行的?您是否正在运行自定义ROM?

您是否正在白宫内部开发此应用程序?还是从某个军事基地?这是源代码中的字符串:但是,它没有提到黑名单的根本目的,所以我和你一样难堪。@Stephanbraczyk我可以告诉你我们正在编写的超级秘密间谍应用程序,但我必须开枪打死你。@Stephanbraczyk抱歉,如果你是认真的,不,我不知道为什么这个空间会被列入黑名单。此外,我们在这个地方有很多手机,黑名单只适用于偶尔使用的手机,所以它是手机的本地黑名单,而不是通用黑名单。嗯,我确实看过你的简历。你所在的行业是美国唯一允许使用手机干扰器的行业。所以我对黑名单没有把握。问题是否仅限于特定品牌的手机?目前,我们只使用摩托罗拉RAZR M。我们正在寻找新的设备,所以这是我们测试的唯一设备。