我有一個應用程序使用gps
。它工作正常,除非應用程序被迫關閉(由用戶或Android操作系統)並重新打開。然後我似乎無法關閉gps
更新。 這是我的代碼:如何在應用程序關閉後刪除gps更新
private void registerLocationUpdates() {
Intent intent = new Intent(ParkOGuardActivity.class.getName()
+ ".LOCATION_READY");
pendingIntent = PendingIntent.getBroadcast(
getApplicationContext(), 0, intent, 0);
// minimum every 1 minutes, 5 kilometers
this.locationManager.requestLocationUpdates(this.provider, 5000,
300000, pendingIntent);
}
private void cancelLocationUpdates() {
if(pendingIntent != null){
Log.d(TAG,pendingIntent!=null ? "pending is not null" : "pending is null");
this.locationManager.removeUpdates(pendingIntent);
}
}
如果我打電話的cancelLocationUpdates()
方法的確定,但重新打開應用程序(它被迫關閉後)的pendingIntent
爲空,我不能removeUpdates ... 有什麼如何做到這一點?
我覺得你被點名的方法錯誤 - launchGPSOptions應該是launchGPS,反之亦然。對任何閱讀「launchGPSOptions」的人來說,都是在最近版本的android中修補的安全漏洞 - 您無法以編程方式啓用GPS - 您只能啓動選項並讓用戶啓用它(此處爲「launchGPS()」) –