輔助功能設計初衷在於幫助殘障用戶使用android設備和應用,在後臺運行,能夠監聽用戶界面的一些狀態轉換,例如頁面切換、焦點改變、通知、Toast等,並在觸發AccessibilityEvents時由系統接收回調。後來被開發者另闢蹊徑,用於一些插件開發,好比微信紅包助手,還有一些須要監聽第三方應用的插件。android
大體簡述一下,谷歌已經在View、ViewGroup、TextView等控件的文字改變、滑動、UI變化埋下了接口,當這些狀態變化時控件會回調系統API,API系統而後對這些對象的數據進行組裝,爲了數據的安全性,系統會從新建立一些對象(AccessibilityEvent、AccessibilityNodeInfo)來間接保存這些數據,而後經過跨進程將這些數據返回給對應的Service中。shell
第一步:實現AccessibilityService 新建service並繼承AccessibilityService,實現父類的兩個方法onInterrupt(),//中斷訪問回調onAccessibilityEvent() //狀態變化回調 第二步:配置AccessibilityService安全
第三步:讓用戶打開輔助功能權限 微信
判斷通知欄是否有紅包 markdown
所需分享工具工具
1.uiautomatorviewer.bat幫助咱們獲取屏幕中的控件,並使用腳本操做 這個地址我本地的是C:\Users\Administrator\AppData\Local\Android\Sdk\tools\bin\uiautomatorviewer.bat 你們根據本身的sdk位置查找ui
2.adb adb shell dumpsys window |findstr mCurrent 幫助會的當前微信頁面的類名spa
下面的方法能夠查找某個id節點 插件
接下來就能夠偷摸幹事情了 1.查找包含微信紅包字樣的節點,利用uiautomatorviewer找到id 2.自動點擊該節點,進入聊天頁 設計
得到聊天頁紅包框id
接下來就進入拆字頁面了,按照上面的分析邏輯便可完成,很少講了,你們本身實現