我有遗留应用,在某项活动中,需要用户位置。这个位置不需要精确,所以我的标准是
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setPowerRequirement(Criteria.POWER_MEDIUM);
String provider = mLocationManager.getBestProvider(criteria, true);
一般会回复network
提供商。在某些时候,我使用此提供程序调用{{1}}。
一切正常。当我切换到设置并关闭位置并切换回应用时,我的getLastKnownLocation(provider)
变为provider
。
所以我只需要最后一个位置,因为精度并不重要,我继续并致电"passive"
。
在API 19上 - > getLastKnownLocation(provider)
返回getLastKnownLocation("passive")
个对象。此对象的提供商为Location
,纬度/长值也会确认这是最近获得的位置。
在API 21+上 - > network
返回null。
我是100%正面我在切换和关闭位置服务之前有一个位置。我已经浏览了getLastKnownLocation("passive")
的文档/差异,但无法找到有关此内容的任何信息。
是否有任何关于为什么它会在21岁以上表现出来的信息/文档?