首页 > 解决方案 > 如何防止 Google Places 完成我的 android 活动?

问题描述

我正在尝试在我的应用程序中使用 Google Places android lib,它运行良好。问题是,当用户选择地点/地址AutocompleteSupportFragment或按下后退按钮时,这会完成我当前的活动并返回到主要活动。

我的活动是由于Receiver.

活动调用代码

Intent requestDriverIntent = new Intent(receiverContext, RequestDeliveryActivity.class);
requestDriverIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // required by the app who broadcast
requestDriverIntent.putExtra("line", lineItemId);
requestDriverIntent.putExtra("order", orderId);
receiverContext.startActivity(requestDriverIntent);

以及我如何使用 Places 响应

private class AddressSelectionListener implements PlaceSelectionListener {
    @Override
    public void onPlaceSelected(@NonNull Place place) {
      deliveryAddress = place.getAddress();
      deliveryLat = place.getLatLng().latitude;
      deliveryLng = place.getLatLng().longitude;
    }

    @Override
    public void onError(@NonNull Status status) {
        errorAlertDialog.show();
    }
  }

标签: javaandroidgoogle-places-api

解决方案


覆盖onBackPressed您的方法RequestDeliveryActivity,不要调用“超级”,而是留空(Activity不会在后按时关闭)或Activity根据需要启动另一个并调用finish();关闭当前Activity

@Override
public void onBackPressed() {
    // leave empty or start smth new
}

推荐阅读