如何处理GooglePlayServicesRepairableException和GooglePlayServicesNotAvailableException

Sem*_*nko 7 java android google-play-services

我阅读了官方文档,这让我很困惑.GooglePlayServicesRepairableException和之间的区别是什么 GooglePlayServicesNotAvailableException.当他们被抛出?如何处理这些错误?如何向用户显示对话框,他可以在其中启用/更新/安装服务.等等

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

        } catch (GooglePlayServicesNotAvailableException e) {

        }
    }
Run Code Online (Sandbox Code Playgroud)

ian*_*ake 7

正如GooglePlayServicesRepairableException文档中所述:

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

GooglePlayServicesNotAvailableException也有一个可以使用的错误代码getErrorDialog(),尽管我建议您查看GoogleApiAvailability中可用的所有方法.