gpt4 book ai didi

Android checkLocationSettings 从未在 onResume 中调用

转载 作者:行者123 更新时间:2023-11-30 01:15:20 24 4
gpt4 key购买 nike

我有一个奇怪的问题。

我正在玩 LocationServices 的例子,我发现如果我尝试在 Activity 的 onResume 中调用 LocationServices.SettingsApi.checkLocationSettings,回调永远不会被调用。

我已经修改了应用程序启动时自动启动本地化的 Activity ,流程是:

  • 启动应用;
  • 启用(如果需要)本地化;
  • 将应用置于后台;
  • 禁用本地化服务;
  • 恢复应用程序。

在最后一步,我期待看到带有启用本地化请求的对话框,但这从未发生。

奇怪的是,第一次启动应用程序时,它运行完美。

有人经历过吗?

编辑:

public synchronized void checkLocationSettings() {
PendingResult<LocationSettingsResult> result =
LocationServices.SettingsApi.checkLocationSettings(
mGoogleApiClient,
mLocationSettingsRequest
);

Log.e(TAG, "check");

result.setResultCallback(this);
}

结果回调:

 @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 中调用

最佳答案

我发现了问题。

没有调用回调,因为我忘记在 onResume 中调用 mGoogleApiClient.connect()

关于Android checkLocationSettings 从未在 onResume 中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37943124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com