放置API错误:未处理的异常

时间:2017-10-14 10:39:43

标签: android google-places-api

PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
startActivityForResult(builder.build(MainActivity.this), PLACE_PICKER_REQUEST);

我正在使用此源代码,但builder.build(MainActivity.this)出现错误,如下所示:

  

未处理的例外:com.google.android.gms.common.GooglePlayServicesRepairableException,com.google.android.gms.common.GooglePlayServicesNotAvailableException

我检查了它的功能API(compile 'com.google.android.gms:play-services-places:11.4.2'上的bulid.gradle)。我该如何解决?

2 个答案:

答案 0 :(得分:1)

只需在手机上启用/更新/升级Google Play服务。

正如official documentation所述,生产阶段的最佳解决方案是:

  

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

答案 1 :(得分:0)

这是因为你的游戏服务不是最新的...... 下面的代码将显示一个用户更新Play服务的对话框

 Int status;
 @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
        if (status != ConnectionResult.SUCCESS) {
            if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
                GooglePlayServicesUtil.getErrorDialog(status, this,
                        100).show();
            } 
        }
}