2014-12-09 4 views
0

Как прослушивать статус GPS и сетевого провайдера без использования GPS. Я хочу знать статус в одиночку. Я не хочу получать информацию о местоположении.Как найти статус поставщика GPS и сети, не потребляя GPS?

Я использовал ниже код,

mLocationManager.requestLocationUpdates(
        LocationManager.GPS_PROVIDER, 0, 0, this); 
mLocationManager.requestLocationUpdates(
        LocationManager.NETWORK_PROVIDER, 0, 0, this); 
mLocationManager.requestLocationUpdates(
        LocationManager.PASSIVE_PROVIDER, 0, 0, this); 

При использовании вышеприведенного кода значок GPS всегда плещутся в панели уведомлений. Это означает, что он всегда потребляет GPS. Я не хочу, чтобы GPS был использован только для проверки состояния GPS. Потому что это истощает заряд батареи. Проверка GPS ON или OFF отличается от использования GPS.

А также я исследовал и нашел способ проверить состояние GPS в одиночку "GpsStatus.Listener".

Но я хочу знать, как GPS и статус сети провайдера. Мне не нужна информация о местоположении.

Пожалуйста, помогите мне в этом.

+0

Таким образом, вы знаете, как проверить статус GPS в настоящее время? Вы искали, как проверить, есть ли интернет-соединение? Потому что есть советы для этого повсюду. – nasch

+0

Да, мне удалось получить статус GPS. Но проверить статус GPS, почему он постоянно использует GPS. Проверьте, что состояние отличается от использования GPS. Я хочу проверить, не потреблять. Когда я использовал requestLocationUpdates или «GpsStatus.Listener». Оба потребляют GPS, чтобы вернуть статус GPS. –

+0

Ну, 5 секунд, когда Google включил это, возможно, это поможет вам: https://stackoverflow.com/questions/10311834/how-to-check-if-location-services-are-enabled – nasch

ответ

0

Найти мой ответ ниже,

Registered местный вещательный приемник для обновления пользовательского интерфейса при изменении состояния данных о местоположении,

getApplicationContext(). RegisterReceiver (mGpsNetworkStatusChangeReceiver, новый IntentFilter (LocationManager.PROVIDERS_CHANGED_ACTION));

Ниже мой Broadcast приемник:

public class GpsNetworkStatusReceiver extends BroadcastReceiver { 

    private static final String TAG = GpsNetworkStatusReceiver.class 
      .getSimpleName(); 

    private AppUtil mAppUtilInstance = AppUtil.getInstance(); 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     mAppUtilInstance.logDebugMessage(TAG, 
       "GpsNetworkStatusReceiver - onReceive"); 

    mLocationManager = (LocationManager) mContext 
        .getSystemService(Context.LOCATION_SERVICE); 
    //check the GPS and NEtwork Provider Status and update the UI 
    boolean gpsEnabled = mLocationManager 
       .isProviderEnabled(LocationManager.GPS_PROVIDER); 
    boolean networkEnabled = mLocationManager 
       .isProviderEnabled(LocationManager.NETWORK_PROVIDER); 

} 

} 

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

  • Нет связанных вопросов^_^