我试图通过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" ); }
}
}
我需要一些帮助,请帮忙。
由于代码是正确的,看起来您的API_KEY可能存在一些错误。请重新检查API_KEY,是否使用了正确的SHA-1指纹来生成API_KEY,也不要忘记检查是否已从项目的开发人员控制台启用了places API。如果所有这些都是正确的并且您仍然面临同样的错误,请将日志发送给我。
希望这可以帮助。 :)
只需检查你的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" />
希望这能满足您的需求!!
一段时间后我找到了解决方案 -
问题 - onActivityResult返回resultCode 2
解决方案 - 1.这可以通过在Developer Console中启用“Places API for Android”而不仅仅是“Places API”来解决。