我正在关注this guide以检查GoogleApiAvailability,它要求我致电getErrorDialog(int responseCode)
但是,结果代码是SERVICE_MISSING, SERVICE_VERSION_UPDATE_REQUIRED,或者SERVICE_DISABLED,然后是用户 需要安装更新。在这种情况下,调用getErrorDialog() 方法并将结果错误代码传递给它。
该指南适用于getErrorDialog(int responseCode) 但this page(getErrorDialog上的超链接)表示该方法已弃用
此方法已弃用。使用getErrorDialog(Activity,int,int) 代替。
根据文档,第一个int
是请求代码,第二个int
是响应代码。我收到了isGoogleApiAvailable(context)
的回复代码,但我不知道请求代码是什么以及如何获取代码。
这是我的代码:
// Ensure Google Play services framework is installed
int gAAResult = GoogleApiAvailability
.getInstance()
.isGooglePlayServicesAvailable(this);
if(gAAResult == ConnectionResult.SUCCESS){
Log.d(TAG, "Play services available");
} else {
GoogleApiAvailability
.getInstance()
.getErrorDialog(this, ? ,gAAResult);
}
如果要用实际请求代码替换问号 作为一个临时的工作我已经通过0到它。我没有没有播放服务的设备。在模拟器上,应用程序显示一个对话框(没有我的代码)来更新播放服务。但FCM文档建议对此检查进行编码
答案 0 :(得分:1)
第一个int是connectionResult
,由isGooglePlayServicesAvailable(Context context)
方法返回。第二个是requestCode
错误对话框。
显示错误对话框后,您将在活动的方法onActivityResult(int requestCode, int result, Intent data)
中收到回调,其中包含结果并传递了请求代码。由于您可以从一个执行结果形式开始执行多个活动,getErrorDialog(...)
方法要求您将请求代码作为操作的唯一标识符传递,以帮助您处理结果。
您实际上需要实现此功能,因为通用的Play服务错误对话框可能会帮助用户在他/她的手机上更新Play服务,因此您会收到通知,问题实际已得到解决。如果你没那么幸运,也一样。