安卓微信抢红包包支持安卓不

 |  |  | 
您所在的位置: >
> 微信自动抢红包 V1.0.3 安卓版
微信自动抢红包 V1.0.3 安卓版
为抢微信红包服务的手机应用
软件类别:/
软件语言:
相关链接:
软件大小:2.17 MB
运行环境:Android/
软件评级:
更新时间:
手机扫一扫下载
其它网友推荐了
网友在23分钟前点赞了
网友在1小时前点赞了
网友在1小时前点赞了
网友在1小时前点赞了
网友在1小时前点赞了
包含叉叉助手安卓版支持的所有游戏
降低游戏的速度
为大家免费提供刷分刷金币功能
知名度极广的手机游戏修改软件
无敌+吸金+无限冲刺
最新攻略资讯
微信自动抢红包 V1.0.3 安卓版的标签
微信自动抢红包是一款为抢微信红包服务的手机应用,使用后可以大大提到抢到微信红包的几率,麻麻再也不用担心抢不到红包买 iPhone6 Plus了~~
详细内容:
马上就要过年了,微信朋友圈、微博都已经被抢红包刷屏了,还在羡慕别人抢了大红包,自己才这么一点吗?那就快点下载一个关云藏红包神器app吧,真的可以提高抢到微信红包的几率,而且你还不用一直盯着手机,一有红包就开始抢,有兴趣的朋友快点下载一个扫荡微信圈吧。
关云藏红包神器:真的会帮你自动抢红包哦,你都不需要盯着手机,简直比机器人还管用啊,妈妈再也不用担心我手笨抢不到红包了,so easy! Boss们请再来一打红包!
功能特色:
1、自动抢红包(高级功能)
开启自动抢红包功能后,手机将为你自动进行一系列抢红包操作,别人抢红包要点开微信界面,进入发红包的聊天窗口,点击抢红包……而你完全可以做自己的事情,也完全不担心溜掉一个红包。
2、手机喊你抢红包
春节老板发红包啦!当来红包时,关云藏红包神器会以特有的提示音告诉你红包出现啦,还会贴心地为你提供一个快捷入口,打开手机一点快捷入口就直接开始抢红包,同事们纷纷哭晕在手机前。
3、特别设计省电环节
开发团队反复多次对比实验,邀请数百名用户真机测试,在三星、小米、华为等主流手机上24小时后台运行平均耗电量为2%!
4、手机安全无忧
关云藏红包神器负责识别红包信息,过滤无效消息,语音提醒用户,帮助用户快速点击,不干涉微信支付和收钱功能,请放心使用。
更新内容:
1.新增所抢红包数量和金额统计
2.加快抢红包的响应速度
3.修复vivo、小米手机上的bug
微信自动抢红包V1.0.3 安卓版图片(1/4)
微信自动抢红包 V1.0.3 安卓版的相关资讯教程
今晚就是除夕,抢红包大战又将开启。微信、支付宝、QQ等均推出除夕晚上的红包方案,玩法十足。互联网时代,过年除了吃喝、拜年以外,还有一件重要的事情就是抢红包,红包最密集的发放时间便是除夕夜了,微信、支付宝、微博、QQ等都将洒下红包雨,小编这里汇总了各家的除夕夜抢红...
发表于: 12:58:16   阅读次数:1149  
在天猫商城双十一如火如荼开展之际,双十一的效应已经辐射到其他电商及实体门店,今年最新试水的O2O模式也逐步显现获利,比如苏宁就创下了今年销量的最大增幅。根据苏宁提供的数据显示,11月8日到11月10日,门店销售同比增长近100%,上海地区易购的销售同比更是取得了200%...
发表于: 16:00:28   阅读次数:339  
10日晚,阿里巴巴集团COO张勇对外表示,至10日晚10时,淘宝天猫所有用户访问网站的总体人流量,已经超过了2012年双十一当天的峰值,不过他也坦然指出,这并不代表已到达今年的预警线。不同于去年,今年阿里新增了双十一天猫数据直播监控屏。通过设置在杭州阿里巴巴西溪园区...
发表于: 11:28:36   阅读次数:397  
,软件? 软件下载后?飞翔小编十二分诚意等待着您的投诉与建议
APK文件怎么打开,下载APK文件如何安装到手机?推荐使用
软件无法下载
下载后无法使用
与描述不一致
谈谈您对该软件的看法
综合评价:后使用快捷导航没有帐号?
只需一步,快速开始
17 / 146 页
在线时间45 小时经验值1996 最后登录注册时间帖子阅读权限90UID
硕士, 积分 1996, 距离下一级还需 504 积分
TA的每日心情擦汗 01:49签到天数: 821 天[LV.10]以坛为家III
G币2409 最后登录注册时间
不管东西咋样 还是先谢谢了
在线时间761 小时经验值3906 最后登录注册时间帖子阅读权限110UID1974895
博士后, 积分 3906, 距离下一级还需 794 积分
TA的每日心情无聊 16:32签到天数: 1 天[LV.1]初来乍到
G币0 最后登录注册时间
Avalon某哦
在线时间0 小时经验值527 最后登录注册时间帖子阅读权限60UID
大学本科, 积分 527, 距离下一级还需 173 积分
TA的每日心情开心 07:32签到天数: 494 天[LV.9]以坛为家II
G币2971 最后登录注册时间
在线时间187 小时经验值765 最后登录注册时间帖子阅读权限70UID899170
学士, 积分 765, 距离下一级还需 335 积分
TA的每日心情无聊 21:47签到天数: 11 天[LV.3]偶尔看看II
G币272 最后登录注册时间
这么好的帖子不回复支持一下怎么可以!!!
在线时间0 小时经验值334 最后登录注册时间帖子阅读权限50UID
大学专科, 积分 334, 距离下一级还需 66 积分
TA的每日心情无聊 18:04签到天数: 4 天[LV.2]偶尔看看I
G币4 最后登录注册时间
能躲避吗??
在线时间78 小时经验值635 最后登录注册时间帖子阅读权限60UID
大学本科, 积分 635, 距离下一级还需 65 积分
该用户从未签到
G币3 最后登录注册时间
死么说你呢安全
在线时间0 小时经验值148 最后登录注册时间帖子阅读权限40UID
高中生, 积分 148, 距离下一级还需 52 积分
TA的每日心情无聊 16:28签到天数: 5 天[LV.2]偶尔看看I
G币0 最后登录注册时间
RE: 微信抢红包神器(Android)v1.8.2官方版+破解版 直接秒红包
来吧来吧来吧
在线时间0 小时经验值16 最后登录注册时间帖子阅读权限20UID
小学生, 积分 16, 距离下一级还需 34 积分
TA的每日心情郁闷 09:21签到天数: 1 天[LV.1]初来乍到
G币7 最后登录注册时间
在线时间28 小时经验值478 最后登录注册时间帖子阅读权限60UID
大学本科, 积分 478, 距离下一级还需 222 积分
TA的每日心情怒 13:04签到天数: 1 天[LV.1]初来乍到
G币3 最后登录注册时间
在线时间0 小时经验值1097 最后登录注册时间帖子阅读权限70UID
学士, 积分 1097, 距离下一级还需 3 积分
TA的每日心情开心 16:13签到天数: 161 天[LV.7]常住居民III
G币358 最后登录注册时间
下个用用。
17 / 146 页
Powered by您的位置:
→ 微信6k抢红包王 v5.0 安卓版
微信6k抢红包王 v5.0 安卓版6k抢红包神器下载|
网友评分:8
软件大小:899KB
软件语言:中文
软件类型:国产软件
软件类别:免费软件 / 常用工具
更新时间:
软件等级:
官方网站:
运行环境:Android
软件厂商:
顶好评:50%
同类相关软件
2.3M/中文/10.06.5M/中文/10.08.2M/中文/10.0974KB/中文/9.6918KB/中文/10.0
6k抢红包王是一款手机上的。能够为用户们提供多样式的抢红包功能,不仅可以自动抢,还可以设置躲避最大和最小的红包,还有手动透视的功能提供,可谓是一款真正的抢红包神器,有需要的朋友们快来下载吧!软件介绍:6k抢红包王其实就是3k的改名版,拥有非常之多的抢红包功能,能够为用户提供快速稳定的抢红包功能!软件功能:1.豹子玩法2.尾数中间带尾包二合一3.暗宝单包透视4.大小中间带尾包送尾包豹子顺子三合一5.中间抢牛牛6.避雷(固定雷)7.躲避两个最小8.大小综合(小数点)9.避雷(随机雷)10.双A(躲避最小发和最大发)11.爬楼梯12.最佳雷13.手动透视相关推荐;
授权:免费软件 Android大小:899KB语言:中文
微信14k抢红包神器是一款专门用来抢红包的手机软件。软件可以帮助用户进行自动抢红包,并且还具有红包透视,躲避最小和最大包的功能。让用户不仅可以抢到红包,还能保证不会抢到最小,也不用担心抢到最大的要继续发。喜欢抢红包的朋友们还不快来下载体验
软件优势:1、安全保障使用这款软件的用户可以非常安心,绝对没有被封号的危险存在。2、快速稳定查看抢红包记录,使用这款软件的用户肯定是排在第一位的!3、自动挂机用户只要开启软件,就会全程后台自动挂机抢红包,无需用户时时盯着软件
6k抢红包神器安卓版暂时还未上线,在这里提供功能十分强大的财神抢红包软件下载,6k抢红包神器安卓版上线后,绿色资源网会第一时间为您提供下载地址
猜你喜欢 抢红包神器
抢红包还是蛮有趣的,但是对于经常错过红包的人来说就有点不爽了怎么样才能第一时间抢到红包呢为什么你每次第一时间打开抢红包节目就提示,手慢了或红包已经派发完了,除了网速,手速等这些因素外,配备一款抢红包的
其他版本下载
微信6k抢红包王 v5.0 安卓版
软件无法下载或下载后无法使用,请点击报错,谢谢!
请描述您所遇到的错误,我们将尽快予以修正,谢谢!
*必填项,请输入内容
本类下载排行
6.81 6.62 10.03 .04 4.05 7.76 7.77 10.08 4.19 10.010 10.011 10.012 9.813 7.714 10.015
本类精品软件
9.8M/中文/5.714.6M/中文/10.014.8M/中文/10.018.9M/中文/10.019.4M/中文/10.015.1M/中文/10.012.0M/中文/10.0
装机必备软件
本类集合软件Android中微信抢红包插件原理解析跟开发实现 - Android当前位置:& &&&Android中微信抢红包插件原理解析跟开发实现Android中微信抢红包插件原理解析跟开发实现&&网友分享于:&&浏览:0次Android中微信抢红包插件原理解析和开发实现一、前言自从去年中微信添加抢红包的功能,微信的电商之旅算是正式开始正式火爆起来。但是作为Android开发者来说,我们在抢红包的同时意识到了很多问题,就是手动去抢红包的速度慢了,当然这些有很多原因导致了。或许是网络的原因,而且这个也是最大的原因。但是其他的不可忽略的因素也是要考虑到进去的,比如在手机充电锁屏的时候,我们并不知道有人已经开始发红包了,那么这时候也是让我们丧失了一大批红包的原因。那么关于网络的问题,我们开发者可能用相关技术无法解决(当然在Google和Facebook看来的话,他们的理想是能够在任何地方都能连接互联网,当然在偏远的农村也是,不过我们期待他们有一天能够普及开来。到时候才是真正的互联网)。扯得有点远了。我们回归到正题,今天我们来看看使用技术来解决其他非网络问题。在充电锁屏的时候也可以自动帮我们抢红包。而且你要知道,机器抢红包的准确率是100%的,这个也许就是人和机器的区别。那么保证抢得准确率是100%的话,那就依赖于我们高效准确的算法实现了。下面就来看看原理实现。当去年我看到抢红包那么火爆的时候,当时作为一个开发者心里是多么渴望开发一个插件出来,可是当时我们能想到的就是使用:adb shell monkey命令去模拟点击屏幕,但是那种方式有一个问题就是是无头绪的盲目点击,所以几乎会出现误点,点击成功率极其低下。所以当时就没有想到其他方法了,因为最近做了有关辅助功能相关的工作的时候,那么就发现这个功能可以用于抢红包。其实现在我们可以去各大市场搜索一下看到,有很多抢红包的插件了。当然我们并不是用于商业化,这里只是来解析一下原理。我们会发现那些插件都有一个共同的特点是:第一步都是引导用户去开启辅助功能。二、原理解析关于辅助功能(AccessibilityService),如果又不了解的同学可以去Google一下,这个功能其实很有用的,但是他的出现的出发点是给那些肢体上有障碍的人使用的,比如手指不健全的用户,怎么才能滑动屏幕,然后打开一个应用呢?那么辅助功能就是干这些事,他的功能其实就是可以概括两句话:第一、寻找到我们想要的View节点第二、然后模拟点击,实现特定功能我们知道Android中的View体系是一个树形结构,那么每一个View就是一个节点。所以我们可以查找到指定的节点,那么我们该如何查找到我们想要的节点呢?这里我们先看一下辅助功能(AccessibilityService)的用法第一步、我们需要集成AccessibilityService类我们需要自定一个Service然后继承AccessibilityService,当然还需要在AndroidManifest.xml中声明这个服务:第二步、声明权限和配置这个服务需要注明一个权限:android:permission=&android.permission.BIND_ACCESSIBILITY_SERVICE&当然还要一个meta-data的声明,这个声明是对这个AccessibilityService的配置。我们看一下配置文件内容:&?xml version=&1.0& encoding=&utf-8&?&
&accessibility-service xmlns:android=&/apk/res/android&
android:accessibilityEventTypes=&typeNotificationStateChanged|typeWindowStateChanged&
android:accessibilityFeedbackType=&feedbackGeneric&
android:accessibilityFlags=&flagDefault&
android:canRetrieveWindowContent=&true&
android:description=&@string/desc&
android:notificationTimeout=&100&
android:packageNames=&com.tencent.mm& /&
这里我们看到有很多选项,我们看一下常用的几个属性:1、android:accessibilityEventTypes=&typeAllMask&看属性名也差不多可以明白,这个是用来设置响应事件的类型,typeAllMask当然就是响应所有类型的事件了。当然还有单击、长按、滑动等。2、android:accessibilityFeedbackType=&feedbackSpoken&设置回馈给用户的方式,有语音播出和振动。可以配置一些TTS引擎,让它实现发音。3、android:notificationTimeout=&100&响应时间的设置就不用多说了4、android:packageNames=&com.example.android.apis&可以指定响应某个应用的事件,这里因为要响应所有应用的事件,所以不填,默认就是响应所有应用的事件。比如我们写一个微信抢红包的辅助程序,就可以在这里填写微信的包名,便可以监听微信产生的事件了。注意:1、我们这些配置信息除了在xml中定义,同样也可以在代码中定义,我们一般都是在onServiceConnected()方法里进行@Override
protected void onServiceConnected() {
AccessibilityServiceInfo info = getServiceInfo();
info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
info.notificationTimeout = 100;
setServiceInfo(info);
info.packageNames = new String[]{&xxx.xxx.xxx&, &yyy.yyy.yyy&,&....&};
setServiceInfo(info);
super.onServiceConnected();
}2、这里我们一般都会在这里写上我们需要监听的应用的包名,但是有时候我们需要监听多个应用,那么这时候我们该怎么办呢?这时候我们可以这么做:第一种:我们在代码中注册多个应用的包名,从而可以监听多个应用@Override
protected void onServiceConnected() {
AccessibilityServiceInfo info = getServiceInfo();
//这里可以设置多个包名,监听多个应用
info.packageNames = new String[]{&xxx.xxx.xxx&, &yyy.yyy.yyy&,&....&};
setServiceInfo(info);
super.onServiceConnected();
}第二种:我们在onAccessibilityEvent事件监听的方法中做包名的过滤(这种方式最常用)@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
String pkgName = event.getPackageName().toString();
if(&xxx.xxx.xxx&.equals(pkgName)){
}else if(&yyy.yyy.yyy&.equals(pkgName)){
}else if(&....&.equals(pkgName)){
}第三步、在onAccessibilityEvent方法中监听指定的事件比如我们需要监听有通知栏消息的事件:@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
int eventType = event.getEventType();
switch (eventType) {
case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED:
}这个事件类型很多的,我们可以查看AccessibilityEvent类的源码:@Deprecated
public static final int MAX_TEXT_LENGTH = 500;
* Represents the event of clicking on a
android.view.View} like
android.widget.Button},
poundButton}, etc.
public static final int TYPE_VIEW_CLICKED = 0x;
* Represents the event of long clicking on a
android.view.View} like
android.widget.Button},
poundButton}, etc.
public static final int TYPE_VIEW_LONG_CLICKED = 0x;
* Represents the event of selecting an item usually in the context of an
android.widget.AdapterView}.
public static final int TYPE_VIEW_SELECTED = 0x;
* Represents the event of setting input focus of a
android.view.View}.
public static final int TYPE_VIEW_FOCUSED = 0x;
* Represents the event of changing the text of an
android.widget.EditText}.
public static final int TYPE_VIEW_TEXT_CHANGED = 0x;
* Represents the event of opening a
android.widget.PopupWindow},
android.view.Menu},
android.app.Dialog}, etc.
public static final int TYPE_WINDOW_STATE_CHANGED = 0x;
* Represents the event showing a
android.app.Notification}.
public static final int TYPE_NOTIFICATION_STATE_CHANGED = 0x;
* Represents the event of a hover enter over a
android.view.View}.
public static final int TYPE_VIEW_HOVER_ENTER = 0x;
* Represents the event of a hover exit over a
android.view.View}.
public static final int TYPE_VIEW_HOVER_EXIT = 0x;
* Represents the event of starting a touch exploration gesture.
public static final int TYPE_TOUCH_EXPLORATION_GESTURE_START = 0x;
* Represents the event of ending a touch exploration gesture.
public static final int TYPE_TOUCH_EXPLORATION_GESTURE_END = 0x;
* Represents the event of changing the content of a window and more
* specifically the sub-tree rooted at the event's source.
public static final int TYPE_WINDOW_CONTENT_CHANGED = 0x;
* Represents the event of scrolling a view.
public static final int TYPE_VIEW_SCROLLED = 0x;
* Represents the event of changing the selection in an
android.widget.EditText}.
public static final int TYPE_VIEW_TEXT_SELECTION_CHANGED = 0x;
* Represents the event of an application making an announcement.
public static final int TYPE_ANNOUNCEMENT = 0x;
* Represents the event of gaining accessibility focus.
public static final int TYPE_VIEW_ACCESSIBILITY_FOCUSED = 0x;
* Represents the event of clearing accessibility focus.
public static final int TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED = 0x;
* Represents the event of traversing the text of a view at a given movement granularity.
public static final int TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY = 0x;
* Represents the event of beginning gesture detection.
public static final int TYPE_GESTURE_DETECTION_START = 0x;
* Represents the event of ending gesture detection.
public static final int TYPE_GESTURE_DETECTION_END = 0x;
* Represents the event of the user starting to touch the screen.
public static final int TYPE_TOUCH_INTERACTION_START = 0x;
* Represents the event of the user ending to touch the screen.
public static final int TYPE_TOUCH_INTERACTION_END = 0x;
* Change type for
#TYPE_WINDOW_CONTENT_CHANGED} event:
* The type of change is not defined.
public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0x;
* Change type for
#TYPE_WINDOW_CONTENT_CHANGED} event:
* A node in the subtree rooted at the source node was added or removed.
public static final int CONTENT_CHANGE_TYPE_SUBTREE = 0x;
* Change type for
#TYPE_WINDOW_CONTENT_CHANGED} event:
* The node's text changed.
public static final int CONTENT_CHANGE_TYPE_TEXT = 0x;
* Change type for
#TYPE_WINDOW_CONTENT_CHANGED} event:
* The node's content description changed.
public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 0x;这里有很多事件,这些事件我们通过名字就可以看出来有很多我们可能都知道,比如当窗口发生变化的时候,当某个View被点击了,被滚动了等消息都是可以知道的。那么我们有了这些事件我们就可以做我们的事情了,因为我们知道事件触发了。第四步、查找到我们想要处理的节点View这里系统提供了两个方法让我们来进行查找想要的节点View第一种是通过节点View的Text内容来查找findAccessibilityNodeInfosByText(&查找内容&)这种方式查找,就是像TextView,Button等View有文本内容的,可以使用这种方式快速的找到。第二种是通过节点View在xml布局中的id名称findAccessibilityNodeInfosByViewId(&@id/xxx&)这个一般很难知道,但是我们在查找系统控件的时候还是可以做的,因为系统的控件的id是可以知道的,而且是统一的。(关于这两个方法我们在写网页爬虫程序的时候可能知道,在html中通过tag/name/id等信息可以找到一个节点,原理都类似)第五步、模拟点击指定事件我们找到我们想要的View节点,调用方法模拟事件:performAction(AccessibilityNodeInfo.ACTION_CLICK)调用这个方法即可,当然这里的参数就是指定事件的名称,这个和AccessibilityEvent中监听的那些事件是一一对应的,这里是模拟点击事件,我们当然可以模拟View的滚动事件,长按事件等。三、实战案例:微信抢红包插件上面我们就介绍了一个辅助功能开发的具体步骤,那么下面就通过一个简单的例子,来实战一下例子:微信自动抢红包插件首先我们来看一下微信抢红包的流程:第一步、我们在通知栏会接收到一个微信红包的消息我们监听通知栏事件:AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED然后查看通知栏的消息中是否有:[微信红包] &的文本内容是的话,就走进入第二步第二步、我们模拟打开通知栏打开微信如下图:我们查找包含有:领取红包 的文本内容的节点View,然后模拟点击,进入第三步:第三步、我们点击领取红包如下图:这里我们在查找包含有:拆红包 的文本内容的节点View,然后模拟点击下面我们来看一下代码中的具体实现:package krelve.demo.
import java.util.L
import android.accessibilityservice.AccessibilityS
import android.accessibilityservice.AccessibilityServiceI
import android.annotation.SuppressL
import android.app.N
import android.app.PendingI
import android.app.PendingIntent.CanceledE
import android.util.L
import android.view.accessibility.AccessibilityE
import android.view.accessibility.AccessibilityNodeI
public class RobMoney extends AccessibilityService {
public void onAccessibilityEvent(AccessibilityEvent event) {
int eventType = event.getEventType();
switch (eventType) {
//第一步:监听通知栏消息
case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED:
List&CharSequence& texts = event.getText();
if (!texts.isEmpty()) {
for (CharSequence text : texts) {
String content = text.toString();
Log.i(&demo&, &text:&+content);
if (content.contains(&[微信红包]&)) {
//模拟打开通知栏消息
if (event.getParcelableData() != null
event.getParcelableData() instanceof Notification) {
Notification notification = (Notification) event.getParcelableData();
PendingIntent pendingIntent = notification.contentI
pendingIntent.send();
} catch (CanceledException e) {
e.printStackTrace();
//第二步:监听是否进入微信红包消息界面
case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED:
String className = event.getClassName().toString();
if (className.equals(&com.tencent.mm.ui.LauncherUI&)) {
//开始抢红包
getPacket();
} else if (className.equals(&com.tencent.mm.plugin.luckymoney.ui.LuckyMoneyReceiveUI&)) {
//开始打开红包
openPacket();
@SuppressLint(&NewApi&)
private void openPacket() {
AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();
if (nodeInfo != null) {
List&AccessibilityNodeInfo& list = nodeInfo
.findAccessibilityNodeInfosByText(&抢红包&);
for (AccessibilityNodeInfo n : list) {
n.performAction(AccessibilityNodeInfo.ACTION_CLICK);
@SuppressLint(&NewApi&)
private void getPacket() {
AccessibilityNodeInfo rootNode = getRootInActiveWindow();
recycle(rootNode);
* 打印一个节点的结构
* @param info
@SuppressLint(&NewApi&)
public void recycle(AccessibilityNodeInfo info) {
if (info.getChildCount() == 0) {
if(info.getText() != null){
if(&领取红包&.equals(info.getText().toString())){
//这里有一个问题需要注意,就是需要找到一个可以点击的View
Log.i(&demo&, &Click&+&,isClick:&+info.isClickable());
info.performAction(AccessibilityNodeInfo.ACTION_CLICK);
AccessibilityNodeInfo parent = info.getParent();
while(parent != null){
Log.i(&demo&, &parent isClick:&+parent.isClickable());
if(parent.isClickable()){
parent.performAction(AccessibilityNodeInfo.ACTION_CLICK);
parent = parent.getParent();
for (int i = 0; i & info.getChildCount(); i++) {
if(info.getChild(i)!=null){
recycle(info.getChild(i));
public void onInterrupt() {
代码没什么好说的了,按照我们之前说的三个步骤来就可以了,但是这里需要注意点细节上的问题:1、我们在监听到通知栏的消息的时候,调用如下代码来进行通知栏的消息点击if (content.contains(&[微信红包]&)) {
//模拟打开通知栏消息
if (event.getParcelableData() != null
event.getParcelableData() instanceof Notification) {
Notification notification = (Notification) event.getParcelableData();
PendingIntent pendingIntent = notification.contentI
pendingIntent.send();
} catch (CanceledException e) {
e.printStackTrace();
}2、我们在模拟点击通知栏消息之后,还是需要监听:AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED 这个事件,这个事件我们以后会经常用到,这个事件就是在窗口发生改变的时候发出来的事件,很常用的,比如我们可以通过这个事件来监听TopActivity,然后得到包名,这也是一个实现应用锁的一个原理。3、我们在查找领取红包的时候,模拟点击的时候做了一个工作,就是从“领取红包”文本的控件View网上查找,查找到一个可以点击的View出来,然后模拟点击if(info.getText() != null){
if(&领取红包&.equals(info.getText().toString())){
//这里有一个问题需要注意,就是需要找到一个可以点击的View
Log.i(&demo&, &Click&+&,isClick:&+info.isClickable());
info.performAction(AccessibilityNodeInfo.ACTION_CLICK);
AccessibilityNodeInfo parent = info.getParent();
while(parent != null){
Log.i(&demo&, &parent isClick:&+parent.isClickable());
if(parent.isClickable()){
parent.performAction(AccessibilityNodeInfo.ACTION_CLICK);
parent = parent.getParent();
}这里为什么这么做,其实原理很简单,因为我们不知道微信他的界面布局,也不知道他对哪个View进行了setOnClickListener。我们可以写一个例子,performAction方法只对调用了setOnClickListener方法的View模拟点击才有效,其实看View的源码也是可以看出来的.这里就不多解释了。所以我们就需要得到一个View节点之后,从下往上找,直到找到一个可以click的View为止。项目下载:http://download.csdn.net/detail/jiangwei/9156347四、延展关于微信抢红包的原理解析上面已经做了分析了,但是要想做到极致,这里还有很多问题的,比如我们还需要过滤一些已经领取过的红包,这样的话效率也是很高的。这个都是算法精确的问题了,我想在这里说的是,我们不仅可以用辅助功能来实现抢红包,还可以实现很多功能,比如1、静默安装关于静默安装的实现,之前的做法是,参见这篇文章:http://blog.csdn.net/jiangwei/article/details/在这篇文章中我介绍了很多方法来实现静默安装,但是都是有一个限制,那就是root,或者是获取到systemId。但是对于这两个要求,我们或许很难得到,那么现在如果有了辅助功能,我们就好做了:我们可以监听系统的这个安装界面,然后得到安装节点View,然后模拟点击即可,卸载也是同样的原理2、强制停止应用我们知道Android中停止应用有很多方法,kill进程,stopService,但是这些方法,有一些应用它们都是有对策的,那么我们之前用到的强制停止的方法是获取root权限调用系统的forceStop的api来停止,但是前提还是有root。那么现在如果我们有了辅助功能的话,我们可以这么做:我们可以监听系统的应用详情页面,然后找到:结束运行的节点View,然后模拟点击即可当然上面我就说了两个简单的例子,还有很多辅助功能都是可以做的。他的好处就是不需要root权限。但是他也是需要用户授权的:如果用户没有授权的话,那么所有的工作都没办法开始了,所以说这个方法也不是万能的。当然说句题外话:有了辅助功能的话,他的危险性比root之后的危险性更大,比如我们上面的抢红包插件,其实我们稍作修改,就可以获取微信通讯录信息,微信支付的密码。这些事都是可以做的,所以说,我们在作为用户的时候,进行授权的时候还是需要三思而后行。五、总结关于辅助功能,之前没有太多的接触,是在一次工作中用到了这个功能,就去学习了一下,作为自己的兴趣,就延展了学习了如何写一个微信抢红包的插件,同时可以考虑了使用辅助功能能够做我们之前需要root做的事情。当然辅助功能是google对于肢体上有障碍的人开发出来的一个功能,我们开发者或许使用这个功能,可以做一下产品的拓展功能,当然这些是google没有想到的事情,但是这个至少是我们开发者在以后的开发道路上的一个解决问题的一个办法和途径,谨记此功能!PS: 关注微信,最新Android技术实时推送
版权声明:本文为博主原创文章,未经博主允许不得转载。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有}

我要回帖

更多关于 安卓微信抢红包 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信