【问题标题】:How can you get a location in android when all location providers are disabled?当所有位置提供程序都被禁用时,如何在 android 中获取位置?
【发布时间】:2012-05-04 17:07:16
【问题描述】:

LocationManager 有一个方法,getlastknownlocation。从文档中,此方法:“返回一个位置,指示从给定提供程序获得的最后一个已知位置修复的数据。这可以在不启动提供程序的情况下完成

但是,如果当前启用了提供程序,此方法只会返回一个位置。

我对此有点困惑,如果此方法可以在不启动提供程序的情况下获取缓存位置,为什么它只会在提供程序当前启用的情况下返回一个位置?

即使所有提供商都被禁用,我如何才能保证位置,无论它多么不准确和过时?

【问题讨论】:

  • 出于隐私目的,android 甚至不会给出缓存的位置,直到用户明确告诉它。

标签: android location locationmanager


【解决方案1】:

你不能。如果用户没有启用任何位置提供程序,则您无法提供位置。如果用户没有启用 GPS 并且用户没有 Internet 连接,则您无法获得基于网络的位置(基于网络的位置需要服务器的帮助)。

有时你只是无法告诉用户他在哪里(或曾经)。

【讨论】:

  • 好吧,您可以简单地手动缓存启用时的位置。
  • 好吧,也许你可以。但 Android 操作系统的安全模型表明,如果用户不想启用位置,应用程序就不能拥有它们。这不完全是技术问题,部分是用户隐私/安全政策问题。
猜你喜欢
  • 2018-03-20
  • 2019-07-28
  • 1970-01-01
  • 2016-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多