Android Activity setResult не является постоянным? - PullRequest
0 голосов
/ 11 ноября 2010

Итак, я пытался взломать, чтобы быстро исправить проблему, описанную в другом вопросе , который я написал.

У меня есть вспомогательное действие, которое было запущено моим основным действием, и оно также может быть остановлено основным действием, вызывающим finishActivity (requestCode). Однако вспомогательное действие всегда возвращает 0 после вызова finishActivity, хотя я устанавливаю этот результат только в том случае, если пользователь нажимает кнопку возврата. Я попытался обмануть, вызвав setResult (RESULT_OK) в методе onResume под-активности, но, похоже, это не имеет значения;

Кроме того, по какой-то причине проходит много времени, прежде чем приходят onActivityResults. Это нормально?

Спасибо за любой совет!

1 Ответ

0 голосов
/ 12 ноября 2010

Наблюдается такое же поведение.В основном классе, который вызывает 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;
        }
    }
}    

Определенно, это не такОК, чтобы ждать так долго, пока активность не закроется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...