placesautocomplete结果代码= 2

问题描述 投票:1回答:3

我试图通过intentBuilder创建一个intent来实现google Places API(Places Autocomplete)。我的应用程序通过单击按钮成功获取意图但无法搜索某个位置。

在重写onActivityResult时,它获取resultCode = 2而不是RESULT_SUCCESS,RESULT_ERROR或RESULT_CANCELLED并返回MainActivity。

我从https://developers.google.com/places/android-api/autocomplete获取了参考并添加了一个依赖项

compile 'com.google.android.gms:play-services-places:9.2.0' 

这是我的代码

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == PLACE_AUTOCOMPLETE_REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            Place place = PlaceAutocomplete.getPlace(this, data);
            Log.i(TAG, "Place: " + place.getAddress());
        } else if (resultCode == PlaceAutocomplete.RESULT_ERROR) {
            Status status = PlaceAutocomplete.getStatus(this, data);
            // TODO: Handle the error.
            Log.i(TAG, status.getStatusMessage());

        } else if (resultCode == RESULT_CANCELED) {
            Log.i("message", "the user cancelled the operation" );            }
    }
}

我需要一些帮助,请帮忙。

android google-places-api onactivityresult
3个回答
1
投票

由于代码是正确的,看起来您的API_KEY可能存在一些错误。请重新检查API_KEY,是否使用了正确的SHA-1指纹来生成API_KEY,也不要忘记检查是否已从项目的开发人员控制台启用了places API。如果所有这些都是正确的并且您仍然面临同样的错误,请将日志发送给我。

希望这可以帮助。 :)


3
投票

只需检查你的Manifest文件一次,也许你正在尝试这个错误的东西......

而不是这个标签:

<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="your_key"/>

添加此标签:

<meta-data            
    android:name="com.google.android.geo.API_KEY"
    android:value="your_key" />

希望这能满足您的需求!!


0
投票

一段时间后我找到了解决方案 -

问题 - onActivityResult返回resultCode 2

解决方案 - 1.这可以通过在Developer Console中启用“Places API for Android”而不仅仅是“Places API”来解决。

  1. 如果您的API密钥错误,也会发生这种情况
© www.soinside.com 2019 - 2024. All rights reserved.