ERROR_OPERATION_FAILED 使用 Google 的状态码在 Android 中放置 Api

ERROR_OPERATION_FAILED Status Code on using Google Places Api in Android

我正在使用 this 教程创建自动完成搜索框。我创建了一个自定义适配器来填充我的自动完成文本框。

mGoogleApiClient = new GoogleApiClient.Builder(ActivityMap.this)
            .addApi(Places.GEO_DATA_API)
            .enableAutoManage(this, GOOGLE_API_CLIENT_ID, this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .build();             

PendingResult<AutocompletePredictionBuffer> results =
        Places.GeoDataApi.getAutocompletePredictions(mGoogleApiClient,
                                                    constraint.toString(), 
                                                    mBounds, null);

但是,我收到如下错误消息:

{statusCode=ERROR_OPERATION_FAILED, resolution=null}

对于Adapter中getPredictions方法中的以下代码行

final Status status = autocompletePredictions.getStatus();
        if (!status.isSuccess()) {
            Toast.makeText(getContext(), "Error: " + status.toString(),
                    Toast.LENGTH_SHORT).show();
            Log.e(TAG, "Error getting place predictions: " + status.toString());
            autocompletePredictions.release();
            return null;
        }

PS: 在行中:

PendingResult<AutocompletePredictionBuffer> results =
                Places.GeoDataApi
                        .getAutocompletePredictions(mGoogleApiClient, constraint.toString(), 
mBounds, mPlaceFilter);

我尝试将 mPlaceFilter 更改为 null,结果相同

终于想通了。我在 Android 清单中写了一个不同的 API 键。

此外,如果您为多个应用程序使用 Google API 密钥,请仅指定一次密钥(使用 Android 教程设置指南)并启用对同一项目中的其他 API。