2016年7月14日星期四

Android应用取不到GPS位置,一个意外的原因:minDistance必须大于0

在一个机子上可以的,换成一个倒霉的机种就死活取不到,是requestLocationUpdates的参数minDistance(触发通知的最小距离,米单位),指定为0就会导致这个问题,换成不为0的值,例如1就好了。

明明以前可以的,为什么换成这个机种就不行了呢?原开发者调查过了也不得其解。
我安装五个取位置的应用以包括三个open source的例子,都取不到位置,几个requestLocationUpdates API都试了,都不行。
但是Google Map可以取到位置,邪门了。
后来发现,有两个应用过了几十分钟后才取到取到位置,但是Google Map确随时可以取到最新位置。
最后发现,原来是调用LocationManager
requestLocationUpdates(long minTime, float minDistance,...
系列API时,有个参数minDistance,实际是触发通知的最小距离,米单位,如果指定为0,就会导致问题。换成不为0的值,例如1就好了。
文档里说的也不清楚,没看到说不能为0,网上也没看到有人说不能为0。

没有评论:

发表评论