# AccessibilityService [輔助功能AccessibilityService筆記](https://www.jianshu.com/p/ef01ce654302) [深入介紹搶紅包功能](https://www.jianshu.com/p/4cd8c109cdfb) [AccessibilityService+OpenCV实现微信7.0.0抢红包插件](https://www.jianshu.com/p/c269a1a1866b) 1. meta-data配置 2. 靜態配置setServiceInfo(AccessibilityServiceInfo info) only for ```eventTypes,feedbackType,flags,notificaionTimeout 及 packageNames``` ## config * packageNames 若要在所有應用程式都可使用下拉功能,應使用"null"來監控所有應用程式(不用設置,Default為null) * accessibilityEventTypes 表示該服務對界面中的哪些變化感興趣,即哪些事件通知,比如窗口打開,滑動,焦點變化,長按等.具體的值可以在AccessibilityEvent類中查到,如typeAllMask表示接受所有的事件通知. * accessibilityFeedbackType 表示反饋方式,比如是語音播放,還是震動 * canRetrieveWindowContent 表示該服務能否訪問活動窗口中的內容.也就是如果你希望在服務中獲取窗體內容的化,則需要設置其值為true. * notificationTimeout 接受事件的時間間隔,通常將其設置為100即可. ## 幾個概念 * AccessibilityNodeInfo 界面中所有的view元素都會作為這麼一個類出現 * AccessibilityEvent Event事件,當app進出前後台或者有點擊滑動等事件的時候,都會發出這麼一個event * onAccessibilityEvent() 接收 event的回調方法 ## Notice * getFingerprintGestureController()取得手勢函數,Call requires API level 26 * 偵測手勢events available only in touch exploration mode XML加上 ```xml= android:canRequestTouchExplorationMode="true" android:accessibilityFlags="flagRequestTouchExplorationMode" ``` # AccessibilityEvent View scrolled - represents the event of scrolling a view. --------- 做一个下拉通知栏的操作 this.performGlobalAction(AccessibilityService.GLOBAL_ACTION_NOTIFICATIONS)