放置选择器在启动后自动关闭

时间:2015-05-25 08:39:31

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

我想显示地方选择器,以便用户可以选择他/她自己选择的位置。但是地点选择器子活动在发布后会自动关闭。我已多次检查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"/>

6 个答案:

答案 0 :(得分:27)

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

答案 1 :(得分:10)

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

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

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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

您可以从here

创建新密钥

答案 4 :(得分:0)

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

答案 5 :(得分:0)

同时启用Places API和Places sdk