设置并取消默认桌面/启动器后,应用从最近使用列表消失的问题求助
设置并取消默认桌面/启动器后,应用从最近使用列表消失的问题求助
我开发的Android应用同时支持作为普通应用和桌面/启动器应用使用。当作为普通应用运行时一切正常——按「最近任务」按钮时,它会正常出现在「最近使用」列表里。但按以下流程操作后就会出现异常:
- 将我的应用设置为默认桌面应用
- 再切换回系统默认桌面(比如One UI、Pixel Launcher或Nova Launcher)
- 清空所有最近使用的应用
- 重新打开我的应用
此时点击最近任务按钮,我的应用完全不会出现在最近列表中 ❌
试过但无效的操作:
- 重新打开应用(依然不会出现在最近列表)
- 再次将应用设为默认桌面后切换回系统桌面
能恢复正常的操作:
- 在系统设置中强制停止应用,再重新打开
- 清除应用数据(或卸载后重装)
可复现问题的设备环境:
- 三星Galaxy S21(物理设备,Android 15)
- Android Studio模拟器:Medium Phone API 15(Android 15)
- Android Studio模拟器:Nexus 6 API 21(Android 5.0.2)
我的AndroidManifest.xml相关配置:
<application <!-- 其他配置项 --> > <activity <!-- 其他配置项 --> android:launchMode="singleTask" android:documentLaunchMode="intoExisting" <!-- 其他配置项 --> > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <!-- 其他配置项 --> </activity> </application>
我已经尝试过的调试方案:
- 把
android:launchMode从singleTask修改为standard或singleInstance - 使用
activity-alias区分启动器模式:引导用户进入Settings.ACTION_HOME_SETTINGS选择启动器时启用alias,检测到应用不是默认启动器时禁用(该方案仅在三星设备上正常,Pixel模拟器上无法可靠检测默认启动器)
我是第一次接触Android开发,可能遗漏了一些关键细节或者犯了基础错误,麻烦各位大佬帮忙分析下问题原因,谢谢!




