1
我遇到了一個奇怪的問題。Android checkLocationSettings從未在onResume中調用過
我與LocationServices的例子玩耍,我發現,如果我試圖調用LocationServices.SettingsApi.checkLocationSettings在的onResume活動的,回調不會被調用。
我已經修改了應用程序啓動時自動啓動的定位的活動,並且該流程是:
- 啓動應用程序;
- 啓用(如果需要)本地化;
- 把應用程序放在後臺;
- 禁用本地化服務;
- 恢復應用程序。
在最後一步,我期待看到對話框中有一個啓用本地化的請求,但這種情況從未發生過。
奇怪的是,當第一次啓動應用程序時,它完美地工作。
有人遇到過這個?
編輯:
public synchronized void checkLocationSettings() {
PendingResult<LocationSettingsResult> result =
LocationServices.SettingsApi.checkLocationSettings(
mGoogleApiClient,
mLocationSettingsRequest
);
Log.e(TAG, "check");
result.setResultCallback(this);
}
ResultCallback:
@Override
public void onResult(LocationSettingsResult locationSettingsResult) {
final Status status = locationSettingsResult.getStatus();
Log.e(TAG, status.toString());
switch (status.getStatusCode()) {
case LocationSettingsStatusCodes.SUCCESS:
Log.i(TAG, "All location settings are satisfied.");
startLocationUpdates();
break;
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
Log.i(TAG, "Location settings are not satisfied. Show the user a dialog to" +
"upgrade location settings ");
showDialogToCheckSettings(status);
break;
case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
Log.i(TAG, "Location settings are inadequate, and cannot be fixed here. Dialog " +
"not created.");
listener.impossibleToEnable();
break;
}
}
Log.e(TAG,status.toString())從未在的onResume
請問您可以發佈檢查設置的代碼 – Krutik