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. Ничто, кажется, не делает уловку убедительно.

Это кажется простой проблемой, но я не могу найти решение. Любая помощь / руководство будет оценено.

0 ответов

Другие вопросы по тегам