1

我有一个Service实现GooglePlayServicesClient.ConnectionCallbacks, GooglePlayServicesClient.OnConnectionFailedListener, LocationListener.

因此,当我创建时,Service我会检查是否Google Play Services可用,或者是否使用正确的版本:

private boolean servicesConnected() {

  // Check that Google Play services is available
  int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);

  // If Google Play services is available
  if (ConnectionResult.SUCCESS == resultCode) {
      return true;
  } else {
    // Get the error code
      GooglePlayServicesUtil
          .getErrorDialog(resultCode, this, 0).show();// This won't work in a service
  }

}//end

那么,如果我返回一个错误代码,我该如何响应它(向用户显示Dialog带有选项的 a),因为我在 a 中Service?在这种情况下,最佳做法是什么?

4

2 回答 2

3

最佳实践是服务仅适用于长任务“非 UI 相关”功能,如果您需要显示不需要服务的消息机会很高,它们应该是 100% 的背景长任务功能,根据谷歌的文档。实际上必须显示错误消息或与 UI 相关的内容将是一个好兆头,可以为您正在做的任何事情寻找不同的方法,无论如何,如果显示消息非常重要,我认为您的活动应该是可见的,您总是可以将服务绑定到您的活动并在其上执行显示对话框的方法...

希望这个帮助...

问候!

于 2013-10-02T22:21:17.967 回答
0

您始终可以在服务中启动活动。

于 2013-10-02T22:19:02.567 回答