Alarm Activity запускается при запуске приложения
Сценарий: у меня есть простое приложение, в котором в основной деятельности у меня есть фрагмент, который берет список задач от пользователя. Я устанавливаю будильник на фиксированное время в будущем (в моем случае каждые 2 минуты ТОЛЬКО для тестирования. Класс AlarmReceiver запускает AlarmActivity, который показывает список задач в виде флажков, которые пользователь может пометить как выполненный.
Когда сигнал тревоги появляется и показывает список, у меня есть кнопка "Отправить", чтобы пометить все отмеченные элементы как "выполненные" в локальной базе данных.
Проблема: эта функция AlarmActivity исчезает при нажатии кнопки "Отправить", поскольку я вызываю команду "Завершить". Но когда я запускаю приложение по значку, AlarmActivity отображается вместо основной активности.
AlarmReceiver код:
final Intent intent1 = new Intent(context, CheckListAlarmActivity.class);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS | Intent.FLAG_ACTIVITY_NO_HISTORY);
context.startActivity(intent1);
AndroidManifest.xml
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:noHistory="true"
android:clearTaskOnLaunch="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".AlarmActivity"
android:alwaysRetainTaskState="false"
android:clearTaskOnLaunch="true"
android:showOnLockScreen="true"
android:screenOrientation="sensorPortrait"
android:noHistory="true"/>
<receiver android:name=".AlarmReceiver" />
</application>
Я добавил android:clearTaskOnLaunch="true"
и это, кажется, делает трюк иногда, но не всегда.
И в фоновом режиме, когда я ставлю регистраторы, он показывает, что каждый раз, когда я запускаю с помощью значка приложения, он вызывает onCreate
MainActivity, а затем немедленно вызывает onCreate
AlarmActivity.
Я пытался найти всевозможные решения и попытался установить несколько флагов для Intent. Ничто, кажется, не делает уловку убедительно.
Это кажется простой проблемой, но я не могу найти решение. Любая помощь / руководство будет оценено.