Android 系统内设有 “Accessibility Services” 功能,目的让残疾人仕可以更容易操作装置,包括有 Talk Back 朗读, 按制功能等,例如视障人仕可以启用 Talk Back 功能,装置就会依据用家所轻触, 选取和启动的画面部份朗读出来。
Android 的 “Accessibility Services” 可以判别画面显示资料,亦可判别输入操作,例如按钮和手势操作等,也可以进行一些 KeyEvents 例如 Back 按钮。所以 “Accessibility Services” 功能本身很强大,让装置做出很多不同的操作。
Google 向 Apps 开发商发警告信
不少 Apps 就透过 “Accessibility Services” 功能进行一些独特操作,让 App 做出很多不同的智能又或自动化操作,不再侷限于提供无障碍服务,只要用家在设定内的无障碍设定开启相关项贝就可以使用。例如:
LastPass – 透过扫描画面和输入资料,以便管理密码
Tasker – 判别那些 App 正在运行,并执行不同的任务
AutoNotification – 可判别画面的通知 Toast Message,并配合 Tasker 执行任务
AutoInput – 就可以判别 KeyEvents 并做出点按或手势操作
这些 App 的做法并不是 Google 原先为 “Accessibility Services” 所制定的目的,Google 最近就向这些 Apps 发出警告信,指出他们的 App 违返了开发指引,使用 Accessibility Service 功能但并不是协助残疾人仕,要求开发商在 30天内要修改 App 并删除 Accessibility Service,否则 30天后就会将 App 从 Play Store 下架。若 App 是为残疾人仕而设,就需要在页面清楚列出 App 需要使用 Accessibility Service 的原因。
由于 “Accessibility Services” 容许进行的操作十分全面,若被不当使用就会带来极大风险,Google 今次用意是限制 App 使用 “Accessibility Services” 于非正常用途。
这些 App 的做法确实跟 “Accessibility Services” 原意有出入,但又为用家带来方便。是否一刀切做出限制呢,Google 应该要再想想。App 开发商方面如何应对呢? LastPass 整个就是靠 “Accessibility Services” 运作 (Android 8.0 Oreo 之前),若不能使用 “Accessibility Services” 的话,可以说是武功废了大半。其他 Apps 若删掉 “Accessibility Services”,可能有部份功能就不能使用。
Source: Reddit