在我的項目,我使用「GoogleApiClient」,使地方要求各5秒,問題是,如果我把GPS關閉,然後重新打開應用程序,壓傷因爲mGoogleApiClient
對象是當前空!我只是做了簡單的檢查上onRestart
如何創建一個IntentService檢查GoogleApiClient不爲空的Android
protected void onRestart() {
super.onRestart();
if(mGoogleApiClient != null && mGoogleApiClient.isConnected()){
startLocationUpdate();
}
}
我要的是創造的東西,每次對象mGoogleApiClient
是空,因此它可以在後臺嘗試,直到被罰款去,我可以叫!裏面的startLocationUpdate();
我使用這個:
mlocationRequest = new LocationRequest();
mlocationRequest.setInterval(5000);
mlocationRequest.setFastestInterval(2000);
mlocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
try{
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,mlocationRequest,MainActivity.this);
}catch (SecurityException ex){
Toast.makeText(this, ex.toString(), Toast.LENGTH_SHORT).show();
}
這可能是這樣的:
if(mGoogleApiClient != null){
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient,mlocationRequest,MainActivity.this);
}else {
callServiceToTryConnection();
}
我已經使用IntentService
與Geocoder
得到的地址!
您可以嘗試採用Android服務和定時器與服務 –