Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER) 在现实生活中多久返回一次 null?
Posted
技术标签:
【中文标题】Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER) 在现实生活中多久返回一次 null?【英文标题】:Android: How often does getLastKnownLocation(LocationManager.NETWORK_PROVIDER) return null in real life? 【发布时间】:2011-04-10 15:01:38 【问题描述】:android 用户是否有机会重置 NetworkProvider,使位置为空? 我想出了一个想法,即在第一次启动设备后,唯一可能使该位置为空。但也比谷歌会立即检查我的意见的位置。
当然,我正在为这种罕见的情况实施默认位置。我只是想知道这种情况很少见。
【问题讨论】:
【参考方案1】:当服务在设置>位置和安全>通过网络的位置被禁用时,它返回'null'
所以这种情况经常发生。
【讨论】:
【参考方案2】:取决于用户连接到 Internet 的频率。
必须将单元格 ID 转换为坐标,并且据我所知有一个缓存,即使在离线时它也会记住已翻译的单元格 ID,但在新的单元格 ID 上,它不会为您提供位置更新,直到手机没有连接到互联网。
无论如何,您总是需要检查位置的日期,因为它可能已经过时了。尤其是在您将手机置于飞行模式并前往世界其他地方之后。
【讨论】:
【参考方案3】:在我的测试中,我发现它经常为空。没有用户告诉他们,没有很多东西会消耗 GPS。但是 getLastKnownLocation 的问题在于它可能已经过时了。因此,即使它不为空,也可能是数小时甚至数天
【讨论】:
嘿法尔马里。我要的是 NETWORK_PROVIDER 提供的位置数据,而不是 GPS。除了 null 之外的任何东西都可以! 哦。唔。我从来没有真正尝试过只使用网络提供商的位置而不注册监听器。如果我有机会明天我会在我的手机上运行它【参考方案4】:这可能还取决于您轮询它的频率。 也就是说,如果您不经常检查它,它可能会被设置为 null 并停留一段时间。
locationManager.requestLocationUpdates(provider, minTime, minDistance, 这个);
我借了一个项目作为 mapActivity 项目的骨架。在我插入 requestLocationUpdates() 调用之前,它一直返回 null(使用 gps 提供程序)。
【讨论】:
以上是关于Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER) 在现实生活中多久返回一次 null?的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )