隐私与数据边界

Android 选中文本翻译交接验证

核实用户主动选文后交给目标应用处理及返回草稿的合同,区分 PROCESS_TEXT、分享、剪贴板、离线准备和翻译质量。

审核状态: 内容已校验;中文稿供用户审核 · 2026-10-05 · Fact IDs: ANDROID-PRIVACY-01, PRIVACY-01

直接回答

选中文字处理是一份应用间交接契约,不是读取任意屏幕内容的许可。Android 将 PROCESS_TEXT 定义为处理一段文字的 Intent:宿主可以把选中文字放入额外数据,处理后的文字也可以通过额外数据返回。选择菜单是否展示目标、输入是否只读以及结果能否替换原文,都取决于源应用和目标应用。ANDROID-PRIVACY-01 与 PRIVACY-01 支持验证用户选择和数据边界,却不证明 Cove 已实现此集成,也不证明翻译可离线运行。\n\n将范围限定为用户高亮文字、明确选择名称清晰的处理动作、审核草稿,再决定是否接受或复制。不能抓取屏幕、轮询无障碍内容或暗中复制选中文字。界面应显示目标,并说明哪些内容会离开宿主应用。宿主可能不展示处理目标、把输入标为只读,或忽略返回结果。应把这些记作被测应用组合的观察,而不是 Android 的普遍保证。\n\n运行模型前先准备样例矩阵:空文字、单词、段落、换行、混合文字、Unicode 标点、长选区、类似敏感信息的合成字符串、宿主取消、目标失败和无返回结果。预先确定预期行为,在 Activity 边界检查输入与输出额外数据。真实私人文字不能进入日志或分析事件。分享是另一条路线,有独立目的地和保留边界;不能因为两者都会传递文字就混为 PROCESS_TEXT。\n\n离线准备度是另一项声明。Android Intent 契约说明应用间传输,不说明目标应用的模型、语言资源、网络状态或首次设置。要在受控断网状态下从冷启动测试确切流程,包括缺少资源与恢复联网行为。检查网络客户端和提供者路径,不要假设选中文字一定留在本地。如果入口不支持或缺少资源,明确显示状态;不能静默上传,也不能把源文字冒充译文。\n\n接收界面应展示选中原文和生成草稿,允许取消与拒绝,不自动执行或转发输出。宿主标记只读时不能声称文字已替换。若支持替换,就按确切宿主测试选区和光标行为,并让用户在接受前比较原文。生成文字要当作不可信数据,不能转成命令或触发宿主中的其他操作。\n\n结束后检查选中文字是否留在 Activity 状态、历史、数据库、剪贴板、诊断或崩溃报告。分别测试取消和成功是否符合保留策略。剪贴板是另一条用户可见边界,默认不应写入。如果宿主是远端服务,Intent 会把文字交给另一款应用;其中一次推理在设备上运行,并不能让整条路径变成本地流程。\n\n记录 Android 版本、源宿主及版本、目标构建、action 与额外数据、只读状态、样例、返回值、网络和失败。结论只适用于观察过的宿主与目标组合,不能证明每个编辑器都有相同菜单或都会接收结果。将入口集成、离线运行和翻译质量作为三条独立测试轴。范围明确的验证记录,比声称任何 Android 选文都能离线翻译更有用。

读者翻译一条高亮句子

读者在 Android 阅读应用中选中一句话,并从文本菜单选择翻译操作。宿主将选区标记为只读;读者希望先查看返回草稿,再决定是否复制到笔记或保持原文不动。

决策

针对该宿主与目标应用组合验证确切 PROCESS_TEXT 契约,显示目的地和结果,并保留取消及人工复核。

预期结果

记录选择输入与返回输出,不声称可静默读屏、所有宿主都支持或已有离线能力。

需要收集的证据

只有将以下证据与同一模型文件和测试运行关联起来,结论才可复核:

  • ANDROID-PRIVACY-01:数据访问与用户控制需要明确
  • PRIVACY-01:本地推理不证明其他路径均本地

隐私声明需要数据清单和流量证据;“本地模型”标签本身不是证明。

实施流程

  1. 检查 Intent 契约. 记录受测 Android 版本与宿主中的 action、输入额外数据、只读标志、返回额外数据及 Activity 生命周期。
  2. 测试受控输入样例. 在可编辑和只读选区中使用合成短文、长文、多行、混合文字、空内容和类似敏感字段进行验证。
  3. 核实审核和返回行为. 检查宿主是否接受输出、是否允许替换,以及用户能否在接受前查看并拒绝草稿,并保留操作结果。
  4. 测试取消和不支持路径. 处理前取消、关闭目标、模拟无结果并测试不支持输入,确认源文字不会意外复制或持久保存。
  5. 单独核验离线和保留. 在受控网络状态下冷启动,检查首次设置及恢复联网流量,再核对历史、剪贴板、日志和删除。

让每个阶段的状态都可观察。失败信息应指出阶段、模型、运行时和恢复动作,同时避免记录用户私密内容。

验收标准

  • 流程只在用户明确选文后启动,记录准确 Intent 契约和宿主行为。
  • 只读、取消、不支持的宿主和无结果状态均可见,不声称静默读屏或必然替换。
  • 对确切路径和构建分别测试离线运行与翻译质量,并明确网络和数据保留限制。

决策对照表

维度选择或证据解读方式
PROCESS_TEXT用户选文并启动处理目标按 Android 文档契约传递被选中的文字片段。
分享动作用户选择接收应用是另一种数据交接,需另行审核目的地披露和保留。
无障碍读屏读取无障碍服务暴露的内容权限边界更广,PROCESS_TEXT 不会自动授予。

需要避免的失败模式

  • 把 PROCESS_TEXT 当作读屏许可
  • 假定宿主一定接收并替换结果
  • 把一步本地推理扩成整条流程离线

还要避免静默回退、版本未固定、缺少取消处理,以及把不同配置的结果混在一起下结论。失败运行也应与成功记录一并保存。

最小复现记录

层级记录内容
设备厂商、型号、芯片、内存档位、操作系统版本
软件应用版本和 Git 提交号
模型系列、变体、版本、格式、文件长度、摘要、量化方式
运行时名称、版本、请求后端及实际后端证据
工作负载样例版本、输入摘要、提示词摘要、输出策略
结果完成、失败、取消、回退及保护隐私的诊断信息

发布检查表

  • ☐ 主要搜索问题已回答,且没有未经支持的数字。
  • ☐ 所有模型文件和运行时版本均已固定。
  • ☐ 代表性任务和失败处理策略均有说明。
  • ☐ 生命周期、取消、清理和回退均已测试。
  • ☐ 用户内容与网络边界均有说明。
  • ☐ 结论只适用于被记录的配置。
  • ☐ 新增测试结果时链接到原始方法或证据。

来源与相关证据

中文部署与排错专题见。奇连 AI 端侧专题。

常见问题

PROCESS_TEXT 能让应用读取整块屏幕吗?

不能。文档契约处理的是传给处理 Activity 的一段选中文字;不能扩展解释为抓屏或持续访问无障碍内容,也不能绕过用户选择状态。

译文一定会替换被选中的原文吗?

不能假定所有宿主行为一致。要测试确切源应用与目标应用、只读状态、返回值以及宿主是否接受替换,并检查取消和返回行为。

Android Intent 能证明翻译可以离线吗?

不能。Intent 只说明文字交接。本地运行时、资源、首次设置流量、恢复联网行为和翻译质量都要单独验证,不能按意图名称推断能力。