【问题标题】:Place Picker Automatically close after launchPlace Picker 启动后自动关闭
【发布时间】:2015-08-06 16:37:02
【问题描述】:

我想显示地点选择器,以便用户可以选择他/她自己选择的位置。但是地点选择器子活动在启动后会自动关闭。我已经多次检查 API 密钥和其他权限,一切都正确。这是所有的代码。请帮忙!

task_location.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                PlacePicker.IntentBuilder intentBuilder = new PlacePicker.IntentBuilder();
                Intent intent = intentBuilder.build(NewTaskActivity.this);
                // Start the Intent by requesting a result, identified by a request code.
                startActivityForResult(intent, 123);


            } catch (GooglePlayServicesRepairableException e) {
                GooglePlayServicesUtil
                        .getErrorDialog(e.getConnectionStatusCode(), NewTaskActivity.this, 0);
            } catch (GooglePlayServicesNotAvailableException e) {
                Toast.makeText(NewTaskActivity.this, "Google Play Services is not available.",
                        Toast.LENGTH_LONG)
                        .show();
            }
        }
    });

这是清单文件。

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    tools:replace="android:icon">

    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

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

【问题讨论】:

    标签: android google-places-api google-places


    【解决方案1】:

    请检查您应用的 logcat 中是否有“PLACES_API_ACCESS_NOT_CONFIGURED”消息。如果是这种情况,在您的 Google Developer Console 中为此项目启用适用于 Android 的 Google Places API 应该可以解决您的问题。

    【讨论】:

    • 谢谢,在我在 Google Api 开发者控制台中启用Google Places API Web Service API 后,它对我有用
    • 我遇到了同样的问题,我已经启用了 place api,但问题仍然存在,有什么解决方案吗?
    【解决方案2】:

    经过大量调试后,我自己解决了。问题是包名..Android Studio 在项目创建时自行管理包名。我在清单中更改了包名称,它工作得很好。但是当我从谷歌开发者控制台获取地点选择器的 API 密钥时,地点选择器会自动关闭,不会出现任何错误字符。

    然后我通过进入 -> 模块设置 -> 口味更改包名称并更改应用程序 ID 并解决问题。

    【讨论】:

    • 你怎么去Module Settings
    • 右键单击您的项目,然后单击列表中倒数第二个选项。例如模块设置或只需按 F4。
    • 谢谢,至少有几个小时找不到问题。
    • 感谢@ZeeshanAhmed。我
    【解决方案3】:

    只需更改 API 密钥即可解决问题

    您可以从here创建一个新密钥

    【讨论】:

      【解决方案4】:

      确保为您在 Google API 控制台中使用的 API 密钥启用了 Google Places API。对我来说,我使用的 API 密钥与用于地图的 API 密钥相同。我也刚刚为places api启用了相同的键。这解决了我的问题。 使用此链接访问 Google 控制台:https://console.developers.google.com/flows/enableapi?apiid=placesandroid&reusekey=true

      【讨论】:

        【解决方案5】:

        启用places SDK for android,而不是启用places API。为我工作。 祝你好运:)

        【讨论】:

          【解决方案6】:

          同时启用 Places API 和 Places sdk

          【讨论】:

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