Мое приложение для Android предназначено для работы как в качестве обычного приложения, так и в качестве домашнего приложения/приложения запуска.
При использовании в качестве обычного приложения все работает нормально (оно появляется в списке «Недавно использованные» при нажатии кнопки меню «Последние»).
Однако, когда я
устанавливаю его как домашнее приложение по умолчанию (то есть средство запуска по умолчанию)
вернуть/отменить настройки домашнего приложения (т. е. изменить домашнее приложение по умолчанию обратно на One UI, Pixel
Launcher или Nova Launcher)
очистить все недавно использованные приложения
открыть приложение снова
Теперь, когда я нажимаю кнопку «Недавние», приложение не появляется. Чего делать НЕ восстановить приложение в разделе «Последние»:
Повторно открыть приложение (еще не последнее)
Принудительно остановить, очистить кэш, снова открыть
Снова установить приложение в качестве главного экрана/средства запуска по умолчанию, а затем вернуться обратно
Что работает:
Очистка данных приложения, затем повторное открытие
Удалить, затем переустановить
Я добавил кнопку, которая запускает Process.killProcess(Process.myPid())
однако мне нужно открыть приложение, нажать эту кнопку, которая
принудительно закрывает приложение (что возвращает меня к другому его экземпляру), затем повторить 2-3 раза, прежде чем оно окончательно умирает.
Я могу воспроизвести эту проблему на:
Galaxy S21 (физическое устройство, Android 15)
Medium Phone API 15 (эмулируется в Android Studio, Android 15)
Nexus 6 API 21 (эмулируется в Android) Studio, Android 5.0.2)
изменение android:launchMode с SingleTask на стандартный или SingleInstance
использование псевдонима активности для режима запуска с «включенным» состоянием - устанавливает значение true, когда пользователь отправляется в Settings.ACTION_HOME_SETTINGS для выбора приложения запуска, и установите значение false, если мое приложение не обнаружено в качестве приложения запуска по умолчанию (наполовину работало, т. е. на моем устройстве Samsung поведение было нормальным, но, как ни странно, на эмулируемом пиксельном устройстве я не смог надежно определить средство запуска по умолчанию)
Полный исходный код доступен здесь.
Это мой первый опыт разработки под Android, поэтому приношу извинения, если это очевидная проблема или есть важные детали, которые я не предоставил в вопрос.
Спасибо!
Мое приложение для Android предназначено для работы как в качестве обычного приложения, так и в качестве домашнего приложения/приложения запуска. При использовании в качестве обычного приложения все работает нормально (оно появляется в списке «Недавно использованные» при нажатии кнопки меню «Последние»). Однако, когда я [list] [*]устанавливаю его как домашнее приложение по умолчанию (то есть средство запуска по умолчанию) [*]вернуть/отменить настройки домашнего приложения (т. е. изменить домашнее приложение по умолчанию обратно на One UI, Pixel Launcher или Nova Launcher) [*]очистить все недавно использованные приложения [*]открыть приложение снова [/list] Теперь, когда я нажимаю кнопку «Недавние», приложение не появляется. ❌ Чего делать [b]НЕ[/b] восстановить приложение в разделе «Последние»: [list] [*]Повторно открыть приложение (еще не последнее) [*]Принудительно остановить, очистить кэш, снова открыть [*]Снова установить приложение в качестве главного экрана/средства запуска по умолчанию, а затем вернуться обратно [/list] ✅ Что работает: [list] [*]Очистка данных приложения, затем повторное открытие [*]Удалить, затем переустановить [*]Я добавил кнопку, которая запускает Process.killProcess(Process.myPid()) [list] однако мне нужно открыть приложение, нажать эту кнопку, которая принудительно закрывает приложение (что возвращает меня к другому его экземпляру), затем [b]повторить 2-3 раза[/b], прежде чем оно окончательно умирает. [/list]
[/list] Я могу воспроизвести эту проблему на: [list] [*]Galaxy S21 (физическое устройство, Android 15) [*]Medium Phone API 15 (эмулируется в Android Studio, Android 15) [*]Nexus 6 API 21 (эмулируется в Android) Studio, Android 5.0.2) [/list]
[/code] Я также пробовал: [list] [*]изменение android:launchMode с SingleTask на стандартный или SingleInstance [*]использование псевдонима активности для режима запуска с «включенным» состоянием - устанавливает значение true, когда пользователь отправляется в Settings.ACTION_HOME_SETTINGS для выбора приложения запуска, и установите значение false, если мое приложение не обнаружено в качестве приложения запуска по умолчанию (наполовину работало, т. е. на моем устройстве Samsung поведение было нормальным, но, как ни странно, на эмулируемом пиксельном устройстве я не смог надежно определить средство запуска по умолчанию) [/list] Полный исходный код доступен здесь. Это мой первый опыт разработки под Android, поэтому приношу извинения, если это очевидная проблема или есть важные детали, которые я не предоставил в вопрос. Спасибо!