Наблюдается такое же поведение.В основном классе, который вызывает finishActivity (), я должен был запомнить идентификатор Activity, которую я вынужден был закрыть, поэтому, когда он возвращается обратно в onActivityResult, я могу различить два случая:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_CANCELED) {
switch (requestCode) {
case OUTSOURCED_INTENT:
{
if(mForcedClosingOfOutsourcedActivity)
{
//Handles case of forced closing
}
else
{
//Handles case of normal closing from Activity
}
}
break;
}
}
}
Определенно, это не такОК, чтобы ждать так долго, пока активность не закроется.