之前写过一个app, “减少微信依赖”,
核心思想是循环调用getRunningTask()判断手机当前显示的界面, 当判断是微信朋友圈界面时, 显示自己的界面, 并杀掉微信进程, 达到帮助用户有效管理自己的时间, 减少在微信朋友圈上浪费过多的时间. 但在Android 5.0后, 这个API被禁用了. 要想达到相同的目的, 可以使用AccessibilityService这个服务.
使用步骤可以完全参考这篇文章:
http://effmx.com/articles/tong-guo-android-fu-zhu-gong-neng-accessibility-service-jian-ce-ren-yi-qian-tai-jie-mian/
经在浏览器项目中验证, 的确可以达到监控手机界面的目的,
而且不用循环查询界面状况, 实现起来效率更高.
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}
微信抢红包的功能,
核心实现也是通过AccessibilityService完成的, 实现概要可以参考这篇文章:
http://www.tqcto.com/article/mobile/991.html
监控微信消息, 一种更有效率的推广策略.
昨碰巧看到一个现象挺有意思的,我往一台手机上发微信消息,结果测试机弹一个推广消息,问要不要安装微信分身大师,早上看了下是KingRoot弹出的,它对微信接收消息进行了特定监控,这种特定场景下的定向推广感觉用户的接受度会好很多, 准备率也会有很大的提高, 值得在项目中实践一下.
实现上参考下面的文章, 作者还是很牛的:
https://github.com/CKTim/WeChatLog
http://www.cnblogs.com/cxk1995/p/6363574.html // Android中微信抢红包助手的实现
--------DONE.-------------