Положение
Я начинаю 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
никогда не вызывается. Почему?