我有一个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
),因为我在Service
内?在这种情况下,最佳做法是什么?
答案 0 :(得分:3)
最佳做法是服务仅适用于长任务“非UI相关”功能,如果您需要显示一条消息机会,您不需要服务很高,它们应该是100根据Google的文档,%后台长任务功能。实际上,必须显示错误消息或与UI相关的内容将是寻找不同方法的好方法,无论如何,如果显示消息我认为您的活动应该是可见的那么重要,您可以随时将服务绑定到您的活动并在其上执行显示对话框的方法...
希望这个帮助...
问候!
答案 1 :(得分:0)
您始终可以在服务中启动活动。