【问题标题】:Android PlacePicker closes 2 seconds after launchAndroid PlacePicker 在启动 2 秒后关闭
【发布时间】:2016-04-06 21:30:47
【问题描述】:

很遗憾,我在Android Place Picker closes immediately after launch 找不到答案。对我来说,PlacePicker 启动时将位置显示为未知,然后返回 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();
}

然后

@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();
    }
}

这是我的完整日志

 D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
 W/IInputConnectionWrapper: showStatusIcon on inactive InputConnection
 D/SRIB_DCS: log_dcs ThreadedRenderer::initialize entered! 
 D/AddLocationActivity: bad result: 2

【问题讨论】:

  • 面临同样的问题。你找到解决办法了吗?

标签: android google-maps android-intent google-places-api startactivityforresult


【解决方案1】:

请确保您已将 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

【讨论】:

    【解决方案2】:

    我通过登录我的 Google Developer Console 解决了这个问题。然后前往 Api > Dashboard,然后单击启用 APIS 和服务。

    Link to Google Developer Api Dashboard

    【讨论】:

      【解决方案3】:

      检查您的应用的 API 仪表板。如果您没有看到“Places SDK for Android”API 的 API 命中,可能是该 API 未启用。如果您看到此 API 被命中,请检查错误。如果您看到 403 错误,可能是您使用了 1) 错误的 Android 密钥或 2) 错误的应用程序限制或 3) 错误的 API 限制或这些的组合。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-21
        • 1970-01-01
        • 2020-01-18
        • 1970-01-01
        • 2020-02-01
        • 1970-01-01
        相关资源
        最近更新 更多