之前寫過一個(gè)app, “減少微信依賴”,
核心思想是循環(huán)調(diào)用getRunningTask()判斷手機(jī)當(dāng)前顯示的界面, 當(dāng)判斷是微信朋友圈界面時(shí), 顯示自己的界面, 并殺掉微信進(jìn)程, 達(dá)到幫助用戶有效管理自己的時(shí)間, 減少在微信朋友圈上浪費(fèi)過多的時(shí)間. 但在Android 5.0后, 這個(gè)API被禁用了. 要想達(dá)到相同的目的, 可以使用AccessibilityService這個(gè)服務(wù).
使用步驟可以完全參考這篇文章:
http://effmx.com/articles/tong-guo-android-fu-zhu-gong-neng-accessibility-service-jian-ce-ren-yi-qian-tai-jie-mian/
經(jīng)在瀏覽器項(xiàng)目中驗(yàn)證, 的確可以達(dá)到監(jiān)控手機(jī)界面的目的,
而且不用循環(huán)查詢界面狀況, 實(shí)現(xiàn)起來效率更高.
Log:
12-07 15:05:38.449 19505-19505/com.qihoo.browser I/ahking: browser onAccessibilityEvent(), cName = ComponentInfo{com.tencent.mm/com.tencent.mm.ui.LauncherUI}
12-07 15:05:42.834 19505-19505/com.qihoo.browser I/ahking: browser onAccessibilityEvent(), event = EventType: TYPE_WINDOW_STATE_CHANGED; EventTime: 31011776; PackageName: com.tencent.mm; MovementGranularity: 0; Action: 0 [ ClassName: com.tencent.mm.plugin.sns.ui.SnsTimeLineUI; Text: [微信]; ContentDescription: null; ItemCount: -1; CurrentItemIndex: -1; IsEnabled: true; IsPassword: false; IsChecked: false; IsFullScreen: true; Scrollable: false; BeforeText: null; FromIndex: -1; ToIndex: -1; ScrollX: -1; ScrollY: -1; MaxScrollX: -1; MaxScrollY: -1; AddedCount: -1; RemovedCount: -1; ParcelableData: null ]; recordCount: 0
12-07 15:05:42.834 19505-19505/com.qihoo.browser I/ahking: browser onAccessibilityEvent(), cName = ComponentInfo{com.tencent.mm/com.tencent.mm.plugin.sns.ui.SnsTimeLineUI}
微信搶紅包的功能,
核心實(shí)現(xiàn)也是通過AccessibilityService完成的, 實(shí)現(xiàn)概要可以參考這篇文章:
http://www.tqcto.com/article/mobile/991.html
監(jiān)控微信消息, 一種更有效率的推廣策略.
昨碰巧看到一個(gè)現(xiàn)象挺有意思的,我往一臺手機(jī)上發(fā)微信消息,結(jié)果測試機(jī)彈一個(gè)推廣消息,問要不要安裝微信分身大師,早上看了下是KingRoot彈出的,它對微信接收消息進(jìn)行了特定監(jiān)控,這種特定場景下的定向推廣感覺用戶的接受度會好很多, 準(zhǔn)備率也會有很大的提高, 值得在項(xiàng)目中實(shí)踐一下.
實(shí)現(xiàn)上參考下面的文章, 作者還是很牛的:
https://github.com/CKTim/WeChatLog
http://www.cnblogs.com/cxk1995/p/6363574.html // Android中微信搶紅包助手的實(shí)現(xiàn)
--------DONE.-------------