如何获取新的GoogleApiAvailability.getErrorDialog()的请求代码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取新的GoogleApiAvailability.getErrorDialog()的请求代码?相关的知识,希望对你有一定的参考价值。
我正在关注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文档建议对此检查进行编码
第一个int是connectionResult
,由isGooglePlayServicesAvailable(Context context)
方法返回。第二个是用于错误对话的requestCode
。
显示错误对话框后,您将在活动的方法onActivityResult(int requestCode, int result, Intent data)
中获得一个带有结果并传递请求代码的回调。由于您可能从一个执行结果形式开始几个活动,getErrorDialog(...)
方法要求您将请求代码作为操作的唯一标识符传递,以帮助您处理结果。
实际上,您需要实现此功能,因为通用的Play服务错误对话框可能会帮助用户更新他/她手机上的Play服务,因此您会收到通知,问题实际已得到解决。如果你没那么幸运,也一样。
以上是关于如何获取新的GoogleApiAvailability.getErrorDialog()的请求代码?的主要内容,如果未能解决你的问题,请参考以下文章
如何在过期之前获取新的 FacebookSDKAccessToken?
如何使用 ajax 在 LARAVEL 中获取新的 CSRF 令牌