Android監聽Gps設置變化方法二

cd33 9年前發布 | 2K 次閱讀 Java Android

上一篇提到用內容觀察者通過來監聽數據庫變化獲取GPS狀態,其實在GPS狀態或模式改變時,

會發出相應的廣播LocationManager.MODE_CHANGED_ACTION,LocationManager.PROVIDERS_CHANGED_ACTION

這里貼出關鍵代碼:

////注冊廣播

IntentFilter filter = new IntentFilter();
filter.addAction(LocationManager.MODE_CHANGED_ACTION);
filter.addAction(LocationManager.PROVIDERS_CHANGED_ACTION);
mServiceBroadcast = new ServiceBroadcast();
registerReceiver(mServiceBroadcast,filter);

///接收廣播并進行相應處理

String action =  intent.getAction();

if(action.equals(LocationManager.MODE_CHANGED_ACTION) || action.equals(LocationManager.PROVIDERS_CHANGED_ACTION)){

LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
boolean gpsEnabled = manager.isProviderEnabled(LocationManager.GPS_PROVIDER);
if(gpsEnabled){
if(!Pedometer.isServiceStart(context,"")){
bindService(new Intent(PedometerService.this,GpsService.class),gpsconnection,Context.BIND_AUTO_CREATE);
}
}
}

 本文由用戶 cd33 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!