【发布时间】:2014-09-05 06:04:03
【问题描述】:
我正在开发一个安卓应用程序。
配置细节是最低sdk version="7"
这些是我在我的应用程序中执行的操作:
当用户进入我的应用程序时捕获位置详细信息(gps 位置详细信息) 有时 GPS 提供商的信号强度很高,有时网络提供商的信号强度很高。
我想检查哪些信号强度高。找到高信号强度后,我需要通过该提供商捕获位置详细信息。
例如,如果 GPS 提供商的信号强度高于网络提供商的意思,则 I 如果网络提供商的信号强度高于 GPS 提供商的意思,则我使用网络提供商参数启动位置侦听器。
我想查找信号强度。如果 gps 提供商的信号强度高,那么我只选择 gps 提供商。如果网络提供商的信号强度高,则我只选择网络提供商。
如何查找 GPS 提供商和网络提供商的信号强度以进行位置捕获以及如何确定哪个信号强度强。 欢迎大家提出意见。
【问题讨论】:
-
对所有提供商(GPS、网络等)使用一个位置监听器,并在您的位置上使用
getAccuracy()来确定它的精确程度:developer.android.com/reference/android/location/… -
这不是你想做的。如果您需要 GPS 的准确性,请使用 GPS。如果不这样做,请使用网络提供商来节省电池。如果您处于可以使用其中任何一种的情况下,您不想根据信号强度进行切换,而是根据精度进行切换,这是一个单独的问题(精度在 Location 对象中返回,您有 68% 的机会'符合返回的准确性)。
标签: android gps locationmanager android-location locationlistener