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