2012-07-17 70 views
0

我的应用程序将确定准确使用GPSCellular networkWiFi。如果GPS信号强度差或低的当前位置,则精度会很差,所以我必须关闭GPS和开关cellular networkWiFi。 我的挑战是的Android:确定GPS信号强度

1.如何确定GPS信号差或强。如果可怜我需要停止GPS并切换到cellular networkWiFi

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

3.电池消耗量应该最小。

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

+1

看到这个:http://stackoverflow.com/questions/3551697/how-to-measure-gps-signal-strength-on-android – 2012-07-17 09:57:42

回答

1

您可以一次请求所有提供商提供的位置信息(GPS,Cellular & Wifi)。交付的位置提供了有关修复类型的信息,以及有关该修正的估计准确度的信息。

因此,您可以在检查已收到的结果时关闭更多更新。

电池以获得蜂窝和WiFi修复非常低,所以如果你有GPS,我不会担心也开启蜂窝和WiFi同时修复。

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(); 
    } 

}; 

我希望这有助于。