【问题标题】:Android-Best way to get new location in onResume()Android-在 onResume() 中获取新位置的最佳方法
【发布时间】:2012-01-29 05:27:52
【问题描述】:

我正在开发的应用程序使用 gps,有时在用户重新启动应用程序时在 onResume 中使用的位置很旧,有时很远。即使我在位置管理器中将时间设置为 0,它也不会更新。我尝试使用粗略和精细添加新侦听器并从一个切换到另一个,但我仍然无法使其可靠。有人可以向我指出在 onResume 方法中强制进行新位置更新的最佳最可靠方法是什么。我不想再依赖 lastLocationKnown 了,因为这是我现在的问题。

编辑:也许我应该问的是如何获得不断更新的位置。看来您只能将您的位置设置为 lastKnown 这给我带来了问题。

【问题讨论】:

    标签: android gps location onresume


    【解决方案1】:

    我遇到了类似的问题,并意识到onProviderEnabled() 不会立即称为onResume()。我最终没有在onPause() 中取消注册我的听众,而是在onDestroy() 中取消了他们的注册。

    以下是相关文档的链接: http://developer.android.com/reference/android/location/LocationListener.html

    这是我最初的 Stack Overflow 问题的链接:
    Why isn't Android's onProviderEnabled() method being called?

    希望这会有所帮助。梅尔

    【讨论】:

    • 嘿,谢谢你的帮助 :) 我一直在尝试同样的事情,方法是在 onPause 方法中将我的听众设置为未注册,然后拔掉我的头发,因为当我再次启动应用程序时,我可以在我的记录 cat 他们将在 onResume 中启动但永远不会返回新位置。我开始认为我要弄清楚如何让 onCreate 方法触发只是为了重置所有内容。我会移动一些东西并取消注册 onDestroy 中的所有内容,如果我让它工作就回发。
    • 我不得不做一些额外的清理工作,包括确保如果一个位置的时间超过了这么多时间,我会使用一个新的粗略位置并在它们的准确性提高时切换到其他位置但我确实在我的主类的 ondestroy 中实现了我的取消注册方法,现在更新似乎就像他们应该的那样......感谢您的额外帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 2015-04-16
    • 2013-03-17
    相关资源
    最近更新 更多