【问题标题】:Place Picker close immediately after launch [duplicate]启动后立即关闭选择器[重复]
【发布时间】:2018-07-21 20:45:00
【问题描述】:

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

这是放大文件

    <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'

这是一个活动

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

【问题讨论】:

  • 在您的日志中搜索“Exception”,我想您必须在 Google Services API 网站中注册您的应用
  • 是的,我已经看到了这个链接,但我按照这个做所有事情,但在我的手机上没有工作。但我只是尝试在另一部手机上运行它现在终于可以工作了。谢谢你帮助我。

标签: android google-places-api


【解决方案1】:

尝试在真机而不是模拟器中部署您的应用......发布您的日志?在日志中放置 API 引发异常

【讨论】:

  • 我在手机上运行该应用程序但无法正常工作。但我只是尝试在另一部手机上运行它现在终于可以工作了。谢谢你帮助我。
  • 不客气
猜你喜欢
  • 2019-09-29
  • 1970-01-01
  • 2018-01-24
  • 2012-05-13
  • 1970-01-01
  • 1970-01-01
  • 2020-08-22
  • 2015-08-22
  • 1970-01-01
相关资源
最近更新 更多