我在我的android应用程序中使用google placepicker。我可以用它来选择地址。但是,一旦选择了地址,它就不会返回到调用方活动。相反,我必须按后退按钮!
这就是我初始化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
“除非我按下拣地器上的后退按钮!在那之后,一切正常进行,我想发生的动作工作正常(意味着地址被正确选择)
有一个类似的问题
here
这些评论表明,调用者活动可能
android:noHistory="true"
在舱单上。但我查过了,没有。以下是我的清单中相应的片段:
<activity
android:name=".AddressPickerActivity"
android:theme="@style/AppThemeNoActionBar" />
是什么引起的?
编辑1:
我还试着明确地添加
android:noHistory="false"
到舱单上。没有变化。