如何正确验证Google Play服务的可用性?

时间:2017-10-17 15:23:58

标签: android google-play-services

Google Play服务可用性已在onResume中验证:

override fun onResume() {
    super.onResume()
    verifyGooglePlayServicesAvailability()
}

如果检查失败,则会显示getErrorDialog的对话框:

availability.getErrorDialog(this, status, RESOLVE_GOOGLE_PLAY_SERVICES_UNAVAILABILITY_REQUEST).show()

但由于某种原因,在错误解决后再次显示对话框。我找不到如何在文档中实现检查的示例。这是我的方法:

private fun verifyGooglePlayServicesAvailability()
{
    val availability = GoogleApiAvailability.getInstance()
    val status = availability.isGooglePlayServicesAvailable(this)
    if (status != ConnectionResult.SUCCESS)
        availability.getErrorDialog(this, status, RESOLVE_GOOGLE_PLAY_SERVICES_UNAVAILABILITY_REQUEST).show()
}

1 个答案:

答案 0 :(得分:0)

这是因为Dialog占用前景并将Activity放在后台,因此多次调用onResume。考虑将它移动到你的onCreate,或者如果你需要它在OnResume中考虑一个标志,以避免在处理时检查两次