2012-07-17 3 views
0

Мое приложение будет определять текущее местоположение точно с помощью GPS, Cellular network или WiFi .Если GPS сила сигнала плохое или низкий, то точность будет бедна, поэтому я должен отключить GPS и переключатель cellular network или WiFi. Моя задачаAndroid: Определить уровень сигнала GPS

1. Как я могу определить, что сигнал GPS является слабым или сильным. Если мне плохо, мне нужно остановиться GPS и переключиться на cellular network или WiFi?

2.If GPS сигнал сильный, как я могу подтвердить, что точное местоположение и запустить locationManager.removeUpdates(locationListener);, чтобы остановить обновление?

3. Потребление батареи должно быть минимальным.

Благодарим вас за любое предложение или код.

+1

Посмотрите это: http://stackoverflow.com/questions/3551697/how-to-measure-gps-signal-strength-on-android –

ответ

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

}; 

Я надеюсь, что это помогает.

Смежные вопросы