Place Picker 启动后立即关闭

Place Picker close immediately after launch

我想显示用户可以选择位置的地点选择器。但是地点选择器 activity 会在启动后自动关闭。我已经多次检查了 API 键,也在 Whosebug 中搜索了这个主题,但是 none 的评论对我有用。 这是我的代码。请帮助

这是 Magnifest 文件

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <uses-feature android:name="android.hardware.wifi" />
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/logo"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

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

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

Build.gradle(应用模块)

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.4.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:design:25.4.0'
compile 'com.google.android.gms:play-services-maps:11.8.0'
compile 'com.google.android.gms:play-services-places:11.8.0'
compile 'com.google.android.gms:play-services-location:11.8.0'
testCompile 'junit:junit:4.12'}

apply plugin: 'com.google.gms.google-services'

这是一个activity

int PLACE_PICKER_REQUEST = 1;
TextView tvPlace;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_pick_map);

    tvPlace = (TextView) findViewById(R.id.tvPlace);

    Button btnLocate = (Button) findViewById(R.id.btnPickhome);
    btnLocate.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
            try {
                Intent intent = builder.build(PickMapActivity.this);
                startActivityForResult(intent, PLACE_PICKER_REQUEST);
            } catch (GooglePlayServicesRepairableException e) {
                e.printStackTrace();
            } catch (GooglePlayServicesNotAvailableException e) {
                e.printStackTrace();
            }
        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == PLACE_PICKER_REQUEST) {
        if (resultCode == RESULT_OK) {

            Place place = PlacePicker.getPlace(this, data);
            tvPlace.setText(place.getAddress());
        }
    }
}

尝试在真实环境中部署您的应用程序 phone 而不是模拟器....post 您的日志?在日志中放置 API 抛出异常