You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Wear OS启用最近应用功能及自定义开发的技术咨询

针对Ticwatch 3 Pro GPS(Wear OS 2.38)的问题解答

1. 系统自带最近应用功能的启用方式

Wear OS 2.38自带最近应用功能,操作逻辑如下:

  • 在手表主屏幕(启动器界面),从屏幕底部向上滑动并短暂停留,即可调出最近打开的应用列表,点击列表项就能快速切换回对应应用。
  • 若手势无效,检查系统设置路径:「设置」→「显示」→「手势」,确认「最近应用」手势已开启。

另外,Google Keep在屏幕变暗后自动关闭的问题,多是后台进程被系统回收导致,可通过以下操作缓解:

  • 进入「设置」→「应用和通知」→「应用信息」→找到「Google Keep」→「电池」,将电池优化设置为「不优化」,降低系统对Keep后台进程的限制。

2. 自定义按键唤起最近应用的开发方案

如果自带功能无法满足需求,可开发一款轻量应用实现该功能,核心步骤如下:

权限申请

在AndroidManifest.xml中添加必要权限:

<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"
                 tools:ignore="ProtectedPermissions" />

安装应用后,需引导用户在手表「设置」→「安全」→「权限管理器」→「特殊权限」→「使用情况访问权限」中,为该应用授权。

获取最近应用列表

使用UsageStatsManager获取近期应用使用记录,示例Kotlin代码:

val usageStatsManager = getSystemService(Context.USAGE_STATS_SERVICE) as UsageStatsManager
val endTime = System.currentTimeMillis()
val startTime = endTime - 1000 * 60 * 60 // 拉取过去1小时的应用记录
val queryFlags = UsageStatsManager.INCLUDE_PACKAGES or UsageStatsManager.INCLUDE_APP_ACTIVITIES
val usageStatsList = usageStatsManager.queryUsageStats(queryFlags, startTime, endTime)

// 按最后使用时间排序,过滤系统应用与重复项
val sortedRecentApps = usageStatsList.sortedByDescending { it.lastTimeUsed }
    .distinctBy { it.packageName }
    .filter { !it.packageName.startsWith("com.google.android") && !it.packageName.startsWith("android") }

界面与按键触发逻辑

  • 用RecyclerView做一个简单列表展示过滤后的最近应用,点击列表项时,通过PackageManager获取应用启动Intent并启动对应应用。
  • 将该应用设置为Ticwatch自定义按键的启动目标:进入手表「设置」→「按键」→选择自定义按键→设置为启动你开发的这款应用。按下自定义按键即可直接唤起最近应用列表。

注意事项

  • Wear OS 2.x对后台应用限制严格,无需做后台监听,直接通过按键触发应用启动即可,启动后再加载最近应用数据。
  • 测试时可根据需求调整时间范围与过滤规则,避免列表出现过多系统应用。

内容的提问来源于stack exchange,提问作者Prestizni_Wifi_Kabel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:10:31