Я использую Google PlacePicker в своем приложении для Android. Я могу использовать его для выбора адресов. Тем не менее, он не возвращается к активности вызывающего абонента после выбора адреса. Вместо этого я должен нажать кнопку "Назад"!
Вот как я инициализирую свой PlacePicker:
/**
* Add New Address
*/
mNewButton.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View view, MotionEvent motionEvent)
{
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
try
{
startActivityForResult(builder.build(AddressPickerActivity.this), ADDRESS_CODE);
}
catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e)
{
int status = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(AddressPickerActivity.this);
GoogleApiAvailability.getInstance().getErrorDialog(AddressPickerActivity.this, status, 100).show();
}
return false;
}
});
и вот как я слушаю результат:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == ADDRESS_CODE)
{
if (resultCode == RESULT_OK)
{
Log.d(TAG, "Google PlacePicker finished");
// Do Stuff then finish current activity too
AddressPickerActivity.this.setResult(RESULT_OK);
AddressPickerActivity.this.finish();
}
}
}
Проблема в том, что я не получаю сообщение журнала "Google PlacePicker finished
", пока не нажму кнопку "Назад" на средстве выбора мест! После этого все идет как обычно, и действия, которые я хочу выполнить, работают нормально (то есть адрес был выбран правильно)
Здесь есть похожий вопрос здесь , и в комментариях предполагается, что активность вызывающего может иметь android:noHistory="true"
в манифесте. Но я проверил, и это не так. Вот соответствующий фрагмент из моего манифеста:
<activity
android:name=".AddressPickerActivity"
android:theme="@style/AppThemeNoActionBar" />
Что может быть причиной этого?
EDIT1:
Я также попытался явно добавить android:noHistory="false"
в манифест. Без изменений.