如果用户的位置没有在地点选择器android中打开,则显示对话框

时间:2016-12-16 13:34:09

标签: android google-maps

我从Google API实施了Place Picker。它看起来效果不错,但是如果没有打开设备的gps位置,我希望它显示一个对话框。当用户在打开其位置后返回时,地图应自动更改为设备的当前位置,就像它在whatsapp中一样。

PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
        try {
            startActivityForResult(builder.build(getActivity()), PLACE_PICKER_REQUEST);
        } catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) {
            e.printStackTrace();
        }

1 个答案:

答案 0 :(得分:1)

要检查gps是否已启用,您应该使用

final LocationManager manager = (LocationManager) getSystemService( Context.LOCATION_SERVICE );

if ( !manager.isProviderEnabled( LocationManager.GPS_PROVIDER ) ) {
    buildAlertMessageNoGps();
}

要自动更新gps位置,您应该使用

manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, <min time>, <distance>, this);
  • min time是两次更新之间的最短时间。
  • 距离是应用更新到位置的最小距离。

Android文档为here