У меня есть приложение запуска , которое имеет singleTask
активность в качестве основной точки входа. Когда пользователь переходит к другому действию или к стороннему приложению, а затем нажимает кнопку home , это действие должно быть перенесено на передний план. Однако то, что я испытываю, это то, что для первой кнопки home нажмите только , вместо этого создается другой экземпляр (создается новая задача, вызывается onCreate()
). В то же время старая задача еще жива , содержащая исходный экземпляр этого действия, но невозможно вернуться к этой задаче / деятельности или вывести ее на передний план.
После первого нажатия кнопки «Домой» следующее нажатие кнопки «Домой» выводит 2-й экземпляр этого действия на передний план. Не уверен, почему не первый метод onNewIntent()
самого первого экземпляра вызывается в первый раз ... Так что это происходит только один раз, после этого всегда вызывается метод onNewIntent()
второго экземпляра. Это означает, что исходное действие будет недоступно ..
Я пытался вывести задачу на передний план, ничего не происходило ... Например, если ее никогда не было (но задачатам с активностью, она не убита ни в какой момент). Я могу найти задачу из кода, а также с помощью сценария оболочки. Он содержит исходное действие
Это происходит на Android TV (Os: Pie) . Есть идеи, что может быть причиной этого? Я не очень понимаю, как это происходит ... Кстати, результат такой же, если я установил активность на singleInstance
.
Активность выглядит следующим образом:
<activity
android:name=".activities.MainActivity"
android:excludeFromRecents="true"
android:launchMode="singleTask"
android:theme="@style/AppTheme">
<intent-filter android:priority="2">
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.ALL_APPS"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Iпробовал чередовать перечисленные выше атрибуты (priority, excludeFromRecents, taskAffinity), также полностью их удалял, они не имели никакого эффекта ...
При нажатии кнопки home отправляется следующее намерение:
- action: "android.intent.action.MAIN"
- категория: "android.intent.category.HOME"
- компонент: вышеуказанная активность
также имеетнекоторые дополнения, но я не думаю, что это актуально