Исключение во время выполнения: ошибка доставки - PullRequest
3 голосов
/ 21 ноября 2011

Отвечая на этот вопрос, примите во внимание тот факт, что я новичок в Android.

В моем приложении Действие A явно вызывает Действие B , которое должно предоставить ему некоторые данные от пользователя (то есть дату). Действие B возвращается, когда пользователь нажимает кнопку Готово .

Но в случае, если пользователь нажимает кнопку Назад , я получаю Ошибка исключения времени выполнения, дающая результат .

Любая подсказка?

Ответы [ 3 ]

5 голосов
/ 21 ноября 2011

Скорее всего, проблема в том, что вам нужно проверить отмененный результат в упражнении А.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (resultCode == Activity.RESULT_CANCELLED) {
        // Do something
    }
}
3 голосов
/ 28 января 2012

Я обнаружил, что даже если я проверил код результата == Activity.RESULT_OK, он все равно получил ошибку.Я решил это вместо того, чтобы делать:

 setResult(Activity.RESULT_CANCELED);
 finish();

Я должен был сделать:

setResult(Activity.RESULT_CANCELED, new Intent());
finish();

Мне также пришлось добавить этот подход в onBackPressed ().

2 голосов
/ 21 ноября 2011

Вы уже ознакомились с жизненным циклом деятельности? Вы хотите убедиться, что все происходит в соответствующем методе жизненного цикла. Если, например, вы открываете какой-то тип носителя в onStart () и забыли закрыть его в onStop (), вы можете столкнуться с исключением во время выполнения.

Трудно сказать точно, в чем причина, без просмотра кода, но я предлагаю пересмотреть жизненный цикл действия и внести любые необходимые изменения. Если у вас все еще есть проблемы, приведите пример кода. Logcat должен сказать вам, какая строка кода вызвала исключение, можете ли вы хотя бы включить эту часть?

См. http://developer.android.com/images/activity_lifecycle.png

Android Activity Lifecycle

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