Android onActivityResult не вызывается - PullRequest
       2

Android onActivityResult не вызывается

0 голосов
/ 03 сентября 2018

Положение
Я начинаю 2 занятия в onCreate моего StartActivity. Сначала мои MainActivity и вторые мои UnlockActivity, оба сразу после друг друга.

 private final static int REQUEST_UNLOCK = 13245;
 [...]  
 Intent mainIntent = new Intent(this, MainActivity.class);
 startActivity(mainIntent);
 Intent intent = new Intent(this, UnlockActivity.class);
 startActivityForResult(intent, REQUEST_UNLOCK);

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

Для меня важно, чтобы порядок запуска активности не изменился. MainActivity выполняет загрузку, пока UnlockActivity работает. Кроме того, UnlockActivity используется для подтверждения действий пользователя в приложении и может также отображаться в фоновом таймере.

Вот их записи AndroidManifest:

<activity android:name=".main.MainActivity" android:theme="@style/AppTheme" />
<activity android:name=".unlock.UnlockActivity" android:launchMode="singleTop" android:theme="@style/AppTheme" />

Задача
Мне нужно установить флаг в моем SharedPrefs, если приложение было разблокировано один раз или нет. Для этого я попытался использовать onActivityResult

 @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_UNLOCK && resultCode == Activity.RESULT_OK) {
            // i set the flag to true here
        }
    }
}

Но по какой-то причине onActivityResult никогда не вызывается. Почему?

1 Ответ

0 голосов
/ 03 сентября 2018

Проверьте две вещи.

  1. Если вам нужно получить данные из onActivityResult в MainActivity. Затем вызовите запуск UnlockActivity из MainActivity
  2. Вы звонили setResult(RESULT_OK, intent) и finish(); в UnlockActivity?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...