我正在开发一个使用Google Maps的应用程序,尝试在模拟器上启动我的应用程序时遇到了一个奇怪的问题-它(显然)无法正常工作,并显示错误消息“ MyApp在Google Play服务上遇到问题。请再试一遍”。
为解决此问题,我决定检查Google Play服务的可用性(按照Google {{3}}本指南的建议)。和..它没有按预期工作。
因此,这是我用来检查Google Play服务可用性的代码,即使未安装所需的版本,模拟器的结果代码也始终为SUCCESS。
private fun checkPlayServices(): Boolean {
val apiAvailability = GoogleApiAvailability.getInstance()
val resultCode = apiAvailability.isGooglePlayServicesAvailable(activity)
if (resultCode != ConnectionResult.SUCCESS) {
if (apiAvailability.isUserResolvableError(resultCode)) {
apiAvailability.getErrorDialog(this.activity, resultCode, 9000)
.show()
} else {
Timber.tag("tag").e("This device is not supported.")
}
return false
}
return true
}
在日志中,我可以清楚地看到消息
W / GooglePlayServicesUtil:Google Play服务已过期。需要13400000但找到了13280022
我无法理解Google为什么说在没有Google Play服务的版本上安装了Google Play服务
我希望该函数返回某种错误并显示正确的对话框,但它只会为模拟器返回成功。 但是,如果我在没有google API的版本上运行它,则会正确显示有关完全没有google play服务的错误。
所以,我的问题是-模拟器或API是否有问题,在普通手机上会不会表现出这种错误,还是仅仅是模拟器错误(功能)?