0

我的应用程序将使用或准确地确定当前位置GPS。如果信号强度很差或很低,那么精度会很差,所以我必须关闭并切换或。我的挑战是Cellular networkWiFiGPSGPScellular networkWiFi

1.如何判断GPS信号的强弱。如果穷,我需要停下来GPS切换到cellular networkWiFi

2.如果GPS信号强,我如何确认位置准确并locationManager.removeUpdates(locationListener);停止更新?

3.电池消耗应该是最小的。

感谢您提前提供任何建议或代码。

4

2 回答 2

1

您可以一次向所有提供商(GPS、蜂窝网络和 Wifi)请求位置。交付的位置提供有关修复类型的信息以及有关修复的估计准确性的信息。

因此,您可以在检查已收到的结果后关闭进一步的更新。

获得蜂窝和 WiFi 修复的电池电量非常低,所以如果你完全打开 GPS,我不会担心同时打开蜂窝和 WiFi 来修复。

于 2012-07-17T22:05:49.710 回答
0

我想我可以回答你的第一个问题。要确定 GPS 信号强度,请使用以下代码:

getGsmSignalStrength();

private class MyPhoneStateListener extends PhoneStateListener
{
    /* Get the Signal strength from the provider, each time there is an update */
    @Override
    public void onSignalStrengthsChanged(SignalStrength signalStrength)
    {
        super.onSignalStrengthsChanged(signalStrength);
        Toast.makeText(getApplicationContext(), "Go to Firstdroid!!! GSM Cinr = "
                + String.valueOf(signalStrength.getGsmSignalStrength()), Toast.LENGTH_SHORT).show();
    }

};

我希望这有帮助。

于 2016-05-06T05:33:55.690 回答