Android QQ微信抢红包apk的实现
来源:互联网 发布:打鸟汽枪100元淘宝 编辑:程序博客网 时间:2024/04/28 14:48
临近元旦,即将有一大波红包向我们袭来,有个轻松抢红包的工具岂不是更好,那就写个抢红包的应用吧,至于原理,网上有一大堆分享,我就不再详述了,只是大致将流程整理下,以作笔记.
一.界面
二 .功能实现原理
主要是用到了Accessibility,它是Android从API 4开始提供的一个功能,主要目的是帮助一些因为有视觉,听觉,身体障碍而无法完全使用触摸屏或铃声等的用户来使用Android的,但现在很多开发者都用它来实现一些其他功能,比如说微信抢红包,自动安装APK,强制停止应用等.实际上就是通过监视一个应用的界面元素状态的变化,来自动响应执行一些操作.
附API:http://www.android-doc.com/guide/topics/ui/accessibility/index.html
三. 主要功能实现
1.微信,QQ自动抢红包
2.微信,QQ聊天界面自动抢红包
3.随机回复感谢语
4.红包个数金额统计
四.功能实现流程
(1)在非微信消息列表界面,收到通知消息的事件,判断通知栏里的文本是否有[微信红包]的关键字——(2)进入微信,判断是否有[领取红包]的关键字—–(3)点击红包—–(4)点击领取按钮—–(5)收集红包数据—–(6)点击关闭红包详情按钮—–(7)自动回复随机感谢语
如果是在聊天界面,则从第(2)步开始,QQ领取红包大致相同,仅少了第四步.
五.部分代码分享
/** * 响应并处理AccessibilityEvent */switch (eventType) { case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED: try { Thread.sleep(1000); // 停1秒 } catch (InterruptedException e) { e.printStackTrace(); } eventText = "TYPE_NOTIFICATION_STATE_CHANGED"; List<CharSequence> texts = event.getText(); if (!texts.isEmpty()) { for (CharSequence charSequence : texts) { String text = String.valueOf(charSequence); if (text.contains(WX_HONGBAO_TEXT_KEY)||text.contains(QQ_HONGBAO_TEXT_KEY)) { openNotify(event); break; } } } break; case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED: eventText = "TYPE_WINDOW_STATE_CHANGED"; // 从微信主界面进入聊天界面 openWeChatPage(event); break; case AccessibilityEvent.CONTENT_CHANGE_TYPE_SUBTREE: eventText = "CONTENT_CHANGE_TYPE_SUBTREE"; // 从微信主界面进入聊天界面 openWeChatPage(event); break; case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED: //聊天界面新消息 eventText = "TYPE_WINDOW_CONTENT_CHANGED"; if(StaticData.WXNserviceStatus&&StaticData.WXserviceStatus) { wxHongBaoservice.getRedPackets(QiangHongBaoService.this); } if(StaticData.QQNserviceStatus&&StaticData.QQserviceStatus) { qqHongBaoservice.getRedPackets(QiangHongBaoService.this); } break; }
/** * 聊天界面判断红包处理的逻辑 */ private void openWeChatPage(AccessibilityEvent event) { CharSequence className = event.getClassName(); Log.d(TAG, "openWeChatPage--className---" + className); new CheckScreenOn().checkScreen(getApplicationContext()); if (wxSupportUi.getHbClick().equals(className)) { isWXNotify = true; wxHongBaoservice.clickOpenButton(QiangHongBaoService.this); } else if (wxSupportUi.getChartUi().equals(className) || wxSupportUi.getChartUi1().equals(className)) { wxHongBaoservice.getRedPackets(QiangHongBaoService.this); } else if (wxSupportUi.getMoneyDetails().equals(className)&&isWXNotify) { isWXNotify = false; wxHongBaoservice.getWXHBInfo(QiangHongBaoService.this,player,moneys,wxSupportUi); } else if (qqSupportUi.getChartUi().equals(className)) { isQQNotify = true; qqHongBaoservice.getRedPackets(QiangHongBaoService.this); }else if(qqSupportUi.getSendUi().equals(className)&&isQQNotify){ //发红包界面判断 isQQNotify = false; } else if(qqSupportUi.getMoneyDetails().equals(className)&&isQQNotify){ isQQNotify = false; qqHongBaoservice.getQQHBInfo(QiangHongBaoService.this,player,moneys); } }
end
阅读全文
0 0
- Android QQ微信抢红包apk的实现
- Android 模仿QQ抢红包 listView实现
- Android微信抢红包功能的实现
- QQ 微信抢红包
- QQ抢红包插件实现
- QQ群红包的算法实现探讨(基于PHP demo)
- Android中微信抢红包助手的实现
- android抢红包插件的实现
- Android中微信抢红包助手的实现
- Android之微信抢红包实现原理分析
- 微信抢红包的算法实现(C++)
- 微信抢红包功能怎么实现的
- android 类似QQ 换皮肤 实现思路 apk资源共享
- android 类似QQ 换皮肤 实现思路 apk资源共享
- android 类似QQ 换皮肤 实现思路 apk资源共享
- 一步一步实现微信抢红包
- js实现微信抢红包
- QQ群红包的算法实现探讨(基于PHP demo)
- C++数据结构:栈——顺序栈实现的之二:两栈共享空间
- 使用纯css3自定义单选框radio和复选框checkbox
- Java 异常处理作业
- tomcat调优
- A
- Android QQ微信抢红包apk的实现
- AmazeUI的JS表单验证框架实战分享
- C
- C++之const限定符(顶层const,底层const)
- 【Hadoop】hadoop-2.7.3+jdk1.8伪分布式环境安装全过程
- spring整合hibernate
- json保持模型的位置信息,保持进度功能
- 自己实现的各种排序算法
- 原型模式