Android PlacePicker在发布后关闭2秒

Kat*_*lon 8 android google-maps android-intent google-places-api startactivityforresult

很遗憾,我无法在Android Place Picker发布后立即关闭答案.对我来说,PlacePicker启动,将位置显示为Unknown,然后返回resultCode 2.

重申一些事实:到目前为止,我的应用程序有两项活动.第一个活动是地图,到目前为止工作正常; 没问题.第二个活动有一个按钮,允许用户启动PlacePicker.第一个活动启动地图没有任何问题的事实应该强化读者我的清单是好的,并且我的Google Api控制台具有正确的数据.所以这让我失望:我做错了什么?我使用的确切示例为https://developers.google.com/places/android-api/placepicker.实际上这是我的代码

try {
  IntentBuilder builder = new IntentBuilder();
  startActivityForResult(builder.build(this), REQUEST_PLACE_PICKER);
} catch (GooglePlayServicesRepairableException e) {
  e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
  e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

然后

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (RESULT_OK != resultCode) {
        Log.d(TAG,"bad result: "+resultCode);
        return;
    }
    if (REQUEST_PLACE_PICKER == requestCode) {
        Place place = PlacePicker.getPlace(data, this);
        String toastMsg = String.format("Place: %s", place.getName());
        Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的完整日志

 D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
 W/IInputConnectionWrapper: showStatusIcon on inactive InputConnection
 D/SRIB_DCS: log_dcs ThreadedRenderer::initialize entered! 
 D/AddLocationActivity: bad result: 2
Run Code Online (Sandbox Code Playgroud)

Mar*_*ars 0

请确保您已将 sha-1 密钥添加到 google api 控制台。

如何获取 SHA-1 指纹: https://developers.google.com/places/android-api/signup#debug-cert 理想情况下,您可以将调试密钥 SHA-1 和发布密钥 SHA-1 添加到控制台,以便两个密钥都可以使用 api。

您应该完成本页描述的步骤,并确保不跳过任何内容: https: //developers.google.com/places/android-api/signup#api-console