开源 · OPPO Find X9 系列 · 无需 root

OPPO Snap Key 自定义改键,一键打开任意应用

按一下,直达 Claude Code

SnapKey Mapper 把 Find X9 和 Find X9 Pro 的 Snap Key 侧键变成快捷启动键,打开你选的应用或链接。单击、双击、长按都行。

版本 1.0.4 · Android 11+ · 约 12 MB · MIT · 已在 Find X9 Pro、ColorOS 16 上测试

示例

一个按键,能用链接打开的都能打开。

选一个已安装的应用,粘贴一个链接,或者写一条 intent: 链接,调用 Android 能做的任何事。几个点子:

搭配 Claude Code

只要能启动,Claude Code 就能把它绑到按键上

大多数应用都能用链接打开,但没人记得住这些链接。告诉 Claude Code 你想让 Snap Key 做什么。它会找到深层链接,通过 ADB 在你的手机上测试,再给你一行可以直接粘贴到 SnapKey Mapper 的链接。

  • 为你想要的应用和页面找到正确的链接
  • 在你动手改手机设置之前先测试
  • 还没有链接时,帮你写好背后的 Webhook 或快捷方式
  • 甚至能替你安装 SnapKey Mapper 并授予权限

把 SnapKey Mapper 插件加到 Claude Code:

/plugin install snapkey-mapper --marketplace Damien-llado/snapkey-mapper

Claude Code 运行在你的电脑上。要在手机上测试链接,请用 USB 数据线连接手机(打开 USB 调试),或在同一 Wi-Fi 下使用无线调试。即使不连接,Claude 也能找到链接,你再用应用里的测试按钮检查。

起因是这样的:作者在家里的服务器上运行 Claude Code,用手机通过 Remote Control 和它对话。OPPO 的设置打不开这个对话,Key Mapper 也只能在开着 Wi-Fi 时做到。于是写了这个应用,从 2026 年 10 月起每天都在用。

claude

我想让 Snap Key 一按就开始骑行导航,去攀岩馆。

Google Maps 支持导航链接。我在你的手机上测试一下:

adb shell am start -a android.intent.action.VIEW \
  -d "google.navigation:q=Climbing+Gym+Lyon&mode=b"

导航已开始。把这个链接粘贴到 SnapKey Mapper:

google.navigation:q=Climbing+Gym+Lyon&mode=b

快捷方式库

不知道链接?选一个快捷方式

应用自带一个现成的快捷方式库,按应用分组:开始计时器、设置闹钟、打开相机、拨打号码、写短信、导航到某地、打开播放列表或聊天。选一个,填好你的内容,测试一下,然后设为按键的目标。

  • 按应用分组,配有官方图标
  • 每项内容一个字段,并提示去哪里找
  • 实时预览最终链接,可一键复制和测试
  • 每个快捷方式都在 Android 模拟器上验证过,并附有说明它的官方文档链接

在模拟器上验证过,不等于在每部手机上都验证过:ColorOS 上的时钟、相机和设置应用有所不同,有些应用还需要登录账号。每个快捷方式里的测试按钮,点一下就能告诉你结果。

SnapKey Mapper 的快捷方式库:各应用的图标及其快捷方式数量 一个快捷方式:每项内容一个字段,最终链接实时生成

技术原理

实话实说:它是怎么做到的

在 ColorOS 16 上,Snap Key 只能执行 OPPO 列出的功能:AI Mind Space、相机、手电筒、录音、翻译、截屏、声音模式或勿扰模式。没有“打开应用”这个选项;改键类应用也检测不到这个按键,除非一直开着调试连接。SnapKey Mapper 换了个思路:读取 ColorOS 本来就会记录的内容。

放心安装

Android 会提示什么,为什么不用担心

SnapKey Mapper 没有上架 Google Play,所以 Android 会多做几道检查。从网站安装的应用都会这样。具体措辞因手机而异。

  1. 提示文件可能有害,出现在 Chrome 中。从网上下载的每个 APK 都会这样提示。确认下载即可。
  2. “安装未知应用”。Android 会请你允许浏览器或文件管理器安装应用。允许、安装,之后想关回去也可以。
  3. “Play Protect hasn't seen this app before”(Play 保护机制未见过此应用)。应用是新的,所以 Google 提出帮你检查。点 扫描应用,几秒钟就好。
  4. “已阻止有害应用”。Google Play Protect 可能会显示这条提示并中止安装。原因是这个应用来自 GitHub 而不是 Google Play,并且向一位 Google 尚未验证的开发者申请敏感权限(读取系统日志、显示在其他应用上层)。这并不表示应用是恶意的。继续之前,请核对 APK 的签名证书 SHA-256 是否为 a4a6d83d2298e8a88a6da748a3cc9ae9051e459a1d6e06b098a27d2b87f8f796(用 AppVerifier,或 apksigner verify --print-certs)。一致的话,点按仍要安装。
  5. 无法开启“显示在其他应用上层”。在你为该应用允许受限设置之前,Android 可能会拒绝这项权限:应用信息 › ⋮ › 允许受限设置。然后返回再授予权限。

它能做什么

  • 读取系统日志,前提是你用一条命令授权
  • 打开你选的应用或链接
  • 监听时显示一条通知

它不能做什么

  • 向外发送任何东西:精简版没有联网权限;完整版只在设置时用它和你自己的手机通信一次
  • 访问你的消息、通知或屏幕:它没有这些权限(不过它会读取系统日志,见常见问题)
  • 显示广告、追踪你或要求注册账号

请只从 GitHub Releases 下载。想要一个完全无法联网的应用?在同一页面下载精简版(snapkey-mapper-lite.apk,约 500 KB,没有联网权限),日志权限需要你自己授予,见第 3 步。每个版本都列出了 APK 的 SHA-256 和签名证书指纹,你可以用 AppVerifier 校验文件。全部源代码公开。

设置

6 步完成设置

大约 10 分钟,只需一次。只有第 3 步需要 Wi-Fi。

  1. 把 OPPO 自带的 Snap Key 功能设为无

    在 设置 › Snap Key 中,把按键设为不执行任何操作,这样它就不会再触发 AI Mind Space 或手电筒。ColorOS 仍会记录每次按键,SnapKey Mapper 照常工作。

  2. 安装 APK 并允许受限制的设置

    下载 APK 并打开。对于 Play 商店以外安装的应用,Android 会屏蔽部分敏感设置:前往 设置 › 应用 › SnapKey Mapper,点 ⋮,再点 允许受限制的设置。

  3. 让应用自己获取日志权限

    在 ColorOS 上,先打开 设置 › 其他设置 › 开发者选项,开启 Disable system optimisation(ColorOS 16 上可能只有手机语言为英文时才显示:找不到的话,临时切换一下语言)。然后连上 Wi-Fi,在应用里点 自动设置日志读取权限。在开发者选项中开启 无线调试,点 使用配对码配对设备,下拉通知栏,输入 6 位数字。通知提示设置完成后,关闭无线调试。

    用电脑设置,或使用精简版

    精简版没有联网权限,不会自动设置:请在电脑上运行下面的命令,或在手机上用 Key Mapper(专家模式,Shell command 操作,ADB,然后点 Test)。之后可以把 Disable system optimisation 关掉,权限依然保留。

    adb shell pm grant io.github.damienllado.snapkeymapper android.permission.READ_LOGS
  4. 允许显示在其他应用上层,并放开电池限制

    在 SnapKey Mapper 中,点 允许显示在其他应用上层(Android 靠它才能从后台打开你的应用)和 电池不受限制。在 ColorOS 上,还要把应用的耗电设置为 无限制,并在最近任务中锁定 SnapKey Mapper。

  5. 选择 Snap Key 打开什么

    选一个已安装的应用,或粘贴一个链接(网址、深层链接或 intent: 链接)。然后选择单击(最快)、双击(放在口袋里误触永远不会打开任何东西)或长按(半秒),再点 测试 确认能打开。

  6. 开始监听

    点 开始监听。Android 13 及以上会询问“允许访问所有设备日志吗?”:选择 允许一次性访问。只要监听在运行,这次授权就一直有效,所以只有重启后才会再看到(点“SnapKey Mapper 已关闭”通知即可)。

安全提示。设置完成后,在开发者选项中关闭无线调试。SnapKey Mapper 不需要它,并且会在设置完成后立即删除自己的配对密钥。之后请在无线调试 › 已配对的设备中移除 SnapKey Mapper。只在你信任的 Wi-Fi 网络上进行设置。

手机

兼容性

手机系统状态
OPPO Find X9 ProColorOS 16, Android 16可用,每天在用
OPPO Find X9ColorOS 16同款 Snap Key,尚未测试
OPPO Find X9 Ultra, Find X9s, Find N6ColorOS 16有 Snap Key,尚未测试
带 Plus Key 的 OnePlus 手机OxygenOS按键不同,可能通过日志捕获实现

在其他手机上试过?提交 issue,附上你的按键对应的日志行,我们会把它加到这里。

常见问题

问题

Find X9 Pro 的 Snap Key 能打开任意应用吗?

只靠 OPPO 的设置不行:ColorOS 只提供固定的几个功能。用 SnapKey Mapper 就可以:任意已安装的应用或任意链接,单击、双击或长按都行。

需要 root 吗?

不需要。应用只需要一个权限 READ_LOGS,Android 允许你用一条 ADB 命令授予,无需 root,也无需解锁 Bootloader。

需要电脑吗?

不需要。应用会通过手机自带的无线调试自己完成授权,只需一次。用装了 adb 的电脑也可以,精简版就是这样设置的。

需要一直开着 Wi-Fi 吗?

不需要。只在用无线调试授予权限时需要一次 Wi-Fi。之后用移动数据、关掉 Wi-Fi,SnapKey Mapper 都照常工作。

为什么需要开启“Disable system optimisation”?

不开的话,ColorOS 会拒绝 pm grant 命令("Neither user 2000 nor current process has GRANT_RUNTIME_PERMISSIONS")。开启它,授予权限,之后想关掉也可以。

安全吗?应用能看到什么?

READ_LOGS 让应用可以读取系统日志,其中可能包含其他应用的信息。所以别光听我们说,自己去核查。应用不收集任何数据,没有追踪,也没有账号。精简版没有联网权限:Android 会阻止它的一切网络访问,你可以用 AppVerifier 确认。完整版声明联网权限,只为在设置时和你自己的手机通信;全部联网代码都在一个很短的文件里,之后你也可以禁止该应用联网。源代码公开,每个版本都列出 SHA-256 和签名指纹,你也可以自己编译。详见放心安装。

为什么 Android 又要求日志访问权限?

从 Android 13 起,每次新的日志读取会话都需要你同意,而且只能在应用显示在屏幕上时进行。SnapKey Mapper 会一直保持一个会话,所以只有重启后或系统停止应用时,你才需要再次确认。

重启后 Snap Key 不起作用了

点“SnapKey Mapper 已关闭”通知,再点“允许一次性访问”。同时检查耗电设置是否为无限制,以及应用是否已在最近任务中锁定。

在其他手机上,怎么找到我的按键名称?

打开 SnapKey Mapper,点 开始捕获,按两三次你的按键,停止,然后保存捕获结果。找一行每按一次就出现一次、带有 KEYCODE_… 名称的日志。在 Find X9 Pro 上是 KEYCODE_ACTION_BUTTON_CLICK(扫描码 735)。

右侧的快捷按键呢?

Snap Key 在机身左侧上方。Find X9 Pro 右侧边框上的 Quick Button 是相机控制键,尚未用 SnapKey Mapper 测试过。

会耗电吗?

它只等待新的日志行,其余时间什么都不做。在 Find X9 Pro 上日常使用没有发现明显耗电,但这只是观察,不是基准测试。

能直接打开 Claude Code、ChatGPT 或 WhatsApp 的某个对话吗?

可以,前提是该应用支持指向这个对话的链接。把链接粘贴为目标:如果对应应用支持,Android 会在该应用中打开,否则在浏览器中打开。

怎么找到某个应用的链接?

很多应用都公开了自己的链接格式(Google Maps、Spotify、Home Assistant)。否则就问 Claude Code 或其他助手,然后用 adb shell am start -a android.intent.action.VIEW -d "<link>" 或 SnapKey Mapper 里的 测试 按钮测试链接。

会上架 Google Play 吗?

不会:请从 GitHub Releases 安装 APK。Google 也在为 Play 商店以外安装的应用推行开发者验证(部分国家 2026 年开始,2027 年覆盖全球);SnapKey Mapper 如有变化,会在本页说明。

怎么卸载?

和其他应用一样。权限会随之移除。如果无线调试还开着,记得关掉。

它和 OPPO 有关系吗?

没有。SnapKey Mapper 是独立的开源项目,与 OPPO、OnePlus、Key Mapper、Anthropic 以及本页出现的任何应用均无关联。这些名称仅用于说明兼容性。

什么是快捷方式库?

一份按应用分组的现成链接列表:计时器、闹钟、相机、通话、短信、地图、音乐、聊天等等。在应用里打开它,选一个快捷方式,填好空白处,测试一下,然后设为 Snap Key 的目标。每个快捷方式都附有说明它的官方文档链接。

怎么知道某个快捷方式在我的手机上能用?

快捷方式是在 Android 模拟器上验证的,并非在每部手机上都验证过。ColorOS 上的时钟、相机和设置应用有所不同,有些应用还需要登录账号。每个快捷方式里的测试按钮,点一下就能告诉你结果。如果某个快捷方式在你的手机上不能用,请在 GitHub 上告诉我们,我们会修复或删除它。

这个网站会追踪我吗?

网站使用 Microsoft Clarity 统计访问情况(点击、滚动、访问录制),但只有在你于横幅中同意后才会这样做。如果你拒绝,Clarity 不会加载,也不会设置任何 Cookie。你可以随时通过页面底部的“Cookie 设置”改变主意。页面还会向 api.github.com 请求星标数和下载数,这会把你的 IP 地址发送给 GitHub,并把这些数字在你的浏览器里保存一小时。应用本身不收集任何数据:没有账号,没有追踪器,没有广告。

轮到你了

你给 Snap Key 设了什么?

分享你的设置:最好的会加到上面的示例里。点击后会在项目的 GitHub Discussions 中打开一篇预填好的帖子,发送前你可以先检查。

需要 GitHub 账号。看看别人怎么用。

让 Snap Key 听你的

免费开源。