如何处理GooglePlayServicesRepairableException和GooglePlayServicesNotAvailableException

时间:2016-05-25 21:45:21

标签: java android google-play-services

我阅读了官方文档,这让我很困惑。有什么区别 GooglePlayServicesRepairableExceptionGooglePlayServicesNotAvailableException。当他们被抛出?如何处理这些错误?如何向用户显示对话框,他可以在其中启用/更新/安装服务。 e.t.c。

private void startLocationPicker() {
        try {
            new PlacePicker.IntentBuilder().build(this);
        } catch (GooglePlayServicesRepairableException e) {

        } catch (GooglePlayServicesNotAvailableException e) {

        }
    }

1 个答案:

答案 0 :(得分:7)

GooglePlayServicesRepairableException docs中所述:

  

GooglePlayServicesRepairableExceptions是UserRecoverableException的特殊实例,在未安装,最新或启用Google Play服务时会引发这些实例。在这些情况下,客户端代码可以将getConnectionStatusCode()getErrorDialog(android.app.Activity, int, int)结合使用,为用户提供本地化的对话框,允许用户安装,更新或启用Google Play服务。

GooglePlayServicesNotAvailableException也有一个可以与getErrorDialog()一起使用的错误代码,不过我建议您查看GoogleApiAvailability中提供的所有方法。