安卓微信自动抢红包插件优化和实现

转载请注明作者AndroidMSky和链接http://blog.csdn.net/AndroidMsky/article/details/53490459

又是兴趣系列
网上有很多自动强红包的例子和代码,笔者也是做了一些优化。
先说说自己的两个个优势
1.可以在聊天界面自动强不依赖于通知栏推送
2.可以在屏幕熄灭的时候的时候点亮屏幕自动抢(目前只测过flyme)
先上图:

这里写图片描述

代码传送门:
https://github.com/AndroidMsky/WXhongbao
欢迎点星星~

微信6.3.32体验APK(支持所有机型)
https://github.com/AndroidMsky/WXhongbao/raw/master/6.3.32.apk

微信6.5.3体验APK( 目前部分新款6.0.1手机不可用。无法识别推送)
通过对6.0.1 MIUI的小米max进行测试发现微信6.5.3采用的通知栏并不是标准的通知栏。
通过:

case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED:

是无法检测到红包通知的。
而使用安卓5.0.1 Flyme os 4.5.7A的MX2 可以监听到通知,并正确开启红包,大胆想象:最新版本的微信对通知进行了处理,如果第三方ROM支持这种自己开发的通知栏(非原声通知栏)那么微信就使用这种通知栏进行消息的通知,我们的AccessibilityService就难以监控到了,如果ROM没有自己开发的通知栏,那么还用系统的通知栏,那么就可以监控的到并正确强红包,目前看如果想强红包的还是建议暂时不要升级6.5.3

https://github.com/AndroidMsky/WXhongbao/raw/master/hongbao6.5.3.apk

回到正题
原理:
通过AccessibilityService监听到状态栏通知,进行模拟点击,获取屏幕中view节点为领取红包的list并且点击最后一个。
如果不通过状态栏通知,通过视图变化AccessibilityEvent的2048事件也是就

public static final int TYPE_WINDOW_CONTENT_CHANGED = 0x00000800;

每次接受到新消息都会有这个时间的回调:

public void onAccessibilityEvent(AccessibilityEvent event) {
        int eventType = event.getEventType();
        if (auto)
            Log.e("AAAAAAAA", 
  • 19
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 45
    评论
评论 45
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值