Мое приложение для Android предназначено для работы как в качестве обычного приложения, так и в качестве домашнего приложения/приложения запуска.
При использовании в качестве обычного приложения все работает нормально (оно появляется в списке «Недавно использованные» при нажатии кнопки меню «Последние»).
Однако, когда я
устанавливаю его в качестве домашнего приложения по умолчанию (т.н. по умолчанию) Launcher)
вернуть/отменить настройки (т. е. изменить домашнее приложение по умолчанию обратно на 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, когда пользователь отправляется в настройки.ACTION_HOME_SETTINGS выбрать приложение запуска и повторно установить значение false, если мое приложение не обнаружено как приложение запуска по умолчанию (наполовину работало, т. е. поведение было нормальным на моем устройстве Samsung, но, как ни странно, на эмулируемом пиксельном устройстве я не смог надежно определить средство запуска по умолчанию)
Полный исходный код доступен здесь.
Это мой первый опыт разработки для Android, поэтому приношу извинения, если это очевидная проблема или есть важные детали, которые я не указал в вопросе.
Спасибо!
Мое приложение для Android предназначено для работы как в качестве обычного приложения, так и в качестве домашнего приложения/приложения запуска. При использовании в качестве обычного приложения все работает нормально (оно появляется в списке «Недавно использованные» при нажатии кнопки меню «Последние»). Однако, когда я [list] [*]устанавливаю его в качестве домашнего приложения по умолчанию (т.н. по умолчанию) Launcher) [*]вернуть/отменить настройки (т. е. изменить домашнее приложение по умолчанию обратно на 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]
I в моем AndroidManifest.xml есть следующее: [code]
[/code] Я также пробовал: [list] [*]изменение android:launchMode с SingleTask на стандартный или SingleInstance [*]с использованием псевдонима активности для режима запуска с «включенным» состоянием - устанавливается значение true, когда пользователь отправляется в настройки.ACTION_HOME_SETTINGS выбрать приложение запуска и повторно установить значение false, если мое приложение не обнаружено как приложение запуска по умолчанию (наполовину работало, т. е. поведение было нормальным на моем устройстве Samsung, но, как ни странно, на эмулируемом пиксельном устройстве я не смог надежно определить средство запуска по умолчанию) [/list] Полный исходный код доступен здесь. Это мой первый опыт разработки для Android, поэтому приношу извинения, если это очевидная проблема или есть важные детали, которые я не указал в вопросе. Спасибо!