Place Picker 启动后自动关闭

Place Picker Automatically close after launch

我想显示地点选择器,以便用户可以选择 his/her 自己选择的位置。但是放置选择器子 activity 会在启动后自动关闭。我已经多次检查 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"/>

请检查您应用的 logcat 是否有 'PLACES_API_ACCESS_NOT_CONFIGURED' 消息。如果是这种情况,在您的 Google 开发人员控制台中为此项目启用 Google Places API for Android 应该可以解决您的问题。

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

然后我通过进入 -> Module Settings -> Flavors 更改包名称并更改应用程序 ID 并解决了问题。

只需更改 API 键即可解决问题

您可以从 here

创建一个新密钥

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

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

同时启用 places API 和 Places sdk