Android:确定GPS信号强度

Android:确定GPS信号强度,android,gps,Android,Gps,我的应用程序将使用GPS、Cellular network或WiFi准确确定当前位置。如果GPS信号强度差或低,则准确度将差,因此我必须关闭GPS并切换Cellular network或WiFi。 我的挑战是 1.如何确定GPS信号弱或强。如果情况不佳,我需要停止GPS并切换到cellular network或WiFi 2.如果GPS信号很强,我如何确认位置是否准确并运行locationManager.RemoveUpdate(locationListener)要停止更新吗 3.电池消耗应为最小

我的应用程序将使用
GPS
Cellular network
WiFi
准确确定当前位置。如果
GPS
信号强度差或低,则准确度将差,因此我必须关闭
GPS
并切换
Cellular network
WiFi
。 我的挑战是

1.如何确定
GPS
信号弱或强。如果情况不佳,我需要停止
GPS
并切换到
cellular network
WiFi

2.如果
GPS
信号很强,我如何确认位置是否准确并运行
locationManager.RemoveUpdate(locationListener)要停止更新吗

3.电池消耗应为最小值


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

您可以立即向所有提供商(GPS、手机和Wifi)请求位置。交付的位置提供了有关修复类型的信息,以及修复估计精度的信息

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


手机和WiFi的电池电量非常低,所以如果你有GPS的话,我不会担心同时打开手机和WiFi来进行修复

我想我可以回答你的第一个问题。要确定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();
    }

};