Я переопределил финишный вызов в подоперации, например, так:
@Override
public void finish()
{
Log.e(this.toString(), "======== finish ========");
if(!this.exiting)
{
Log.e(this.toString(), "======== set RESULT_OK ========");
// Notify the caller Activity that the user successfully
// edited or inserted the data set
setResult(RESULT_OK);
}
else
{
Log.e(this.toString(), "======== set RESULT_CANCELED ========");
// Notify the caller Activity that the user has canceled the
// activity without altering anything
setResult(RESULT_CANCELED);
}
super.finish();
}
Я вызываю finishActivity для этого подэтапа из действия, которое запустило его для результата. Но я не вижу, чтобы финиш был поражен. Вместо этого он переходит непосредственно к onPause.