You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

设置并取消默认桌面/启动器后,应用从最近使用列表消失的问题求助

设置并取消默认桌面/启动器后,应用从最近使用列表消失的问题求助

我开发的Android应用同时支持作为普通应用和桌面/启动器应用使用。当作为普通应用运行时一切正常——按「最近任务」按钮时,它会正常出现在「最近使用」列表里。但按以下流程操作后就会出现异常:

  1. 将我的应用设置为默认桌面应用
  2. 再切换回系统默认桌面(比如One UI、Pixel Launcher或Nova Launcher)
  3. 清空所有最近使用的应用
  4. 重新打开我的应用

此时点击最近任务按钮,我的应用完全不会出现在最近列表中 ❌

试过但无效的操作:

  • 重新打开应用(依然不会出现在最近列表)
  • 再次将应用设为默认桌面后切换回系统桌面

能恢复正常的操作:

  • 在系统设置中强制停止应用,再重新打开
  • 清除应用数据(或卸载后重装)

可复现问题的设备环境:

  • 三星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:launchModesingleTask修改为standardsingleInstance
  • 使用activity-alias区分启动器模式:引导用户进入Settings.ACTION_HOME_SETTINGS选择启动器时启用alias,检测到应用不是默认启动器时禁用(该方案仅在三星设备上正常,Pixel模拟器上无法可靠检测默认启动器)

我是第一次接触Android开发,可能遗漏了一些关键细节或者犯了基础错误,麻烦各位大佬帮忙分析下问题原因,谢谢!

火山引擎 最新活动