有什么黑科技可以在微信一千多人怎么群发群里自动加人吗?

终于知道微信群斗牛作弊软件通用版—《黑科技助手》发布时间: 19:49:45
购买软件加客服微信ak88999ak】3月22日新闻,来自外媒新闻,美国券商CowenCompany的看破师蒂莫西·阿库里(TimothyArcuri)信任新一代iPhone将引爆苹果股票下跌,阿库里周一将苹果股票目标价上调至155美元,缘故原由是苹果将在本年晚些时刻宣布iPhone8。导语牛小帅弊器是一款独家研发的牛牛作弊器,虽然不能保证100%赢,但是稳定拿得一手好牌,绝对不是问题。专业销售:玩牛.牛牛.斗牛等软件:牛元帅、牛爷、牛小帅、牛大帅、战斗牛、牛小妹、牛总管、乐淘娱乐熟人斗、牛新大番薯斗牛、九方棋牌征战娱乐、埋雷扫雷、牛大魔王、炸金花、九人牛牛、六人牛牛、超级大厅棋牌、斗牛作弊辅助、牛元帅,一定要牛,阿拉牛,牛总管斗牛辅助软件各种开挂作弊辅助是一对一匹配制作的,防辅闪退辅助挂针对牛牛麻将棋牌游戏进行设计,玩家可随心所欲开启与修改等设置购买软件加客服微信:ak88999ak牛小帅牛牛开挂辅助器软件通用版【我来教教你怎么赢】牛小帅作弊器是一款独家研发的牛牛作弊器,虽然不能保证100%赢,但是稳定拿得一手好牌,绝对不是问题。牛小帅作弊器功能如下1.无视房间密码,直接进入2.打开软件就可看穿玩家牌面3.记牌功能4.更改自己的牌型5.比得牛6.最大加注7.UDP即时通信8.校检ASCLL码9.遇网络延迟或当机则自动顺延时间10.扫描同类作弊软件提示是否退出房间11.入手好牌,五小牛,炸弹牛,五花牛,四炸,牛牛,牛九,牛八,牛七牛小帅作弊器采用独家云服务器,技术稳定,功能强大,不容易封号,已经开发了多个版本,深得各位斗牛爱好者的喜爱。购买软件加客服微信:ak88999ak牛小帅作弊器使用方法1、下载这个软件,打开。2、在“设置——辅助功能——微信闲来神器”里,点击“开启”。3、打开微信,在“设置——新消息提醒”里,前两个选项“接受新消息通知”和“通知显示消息详情”均勾选“开启”。(好多人就是这一步忘记做了)4、打开某一个微信群组,点击右上角,往下拉,“消息免打扰”选项,勾选“关闭”。(也就是要把“群消息的提示保持在开启”的状态,这样才能触系统发底层接口。)5、保持手机不处关屏的状态。6、如果你还没有成功,首先确认你是智能手机(包括苹果安卓),其次需要你的微信升级到最新版本。如果你是一个牛牛爱好者,如果你不想落后别人,那么外挂辅助作弊器绝对是你最好的选择,起手拿一手好牌,走到哪里都不怕。购买正版加客服微信:ak88999ak购买软件加客服微信:ak88999ak专业销售全国游戏外挂:百姓斗牛茶宛斗牛牛元帅牛总管啊啦斗牛一定要牛牛魔王牛牛斗牛百人斗牛欢乐斗牛欢聚斗牛红牛斗牛通比斗牛二人斗牛365斗牛百姓斗牛酷爽炸金花棋牌大字牌棋牌悦战圈辉煌十三水福建三十水风三十水冠三十水大头三十水享游三十水掌心三十水赏金三十水同城游三十水大玩家三十水明牌十三水大家乐斗地主欢乐斗地主酷酷炸金花宝博炸金花天天炸金花万人炸金花奇奇炸金花哈哈炸金花齐齐乐炸金花金星棋牌炸金花多乐多金炸金花百姓斗牛各种开挂辅助器破解功能各种开挂作弊辅助是一对一匹配制作的,防辅闪退辅助挂针对牛牛麻将棋牌游戏进行设计,玩家可随心所欲开启与修改等设置辅助软件--微信ak88999ak--合作共赢郑重承若:软件若无法使用将全额退款购买软件加客服微信:ak88999ak-合作共赢本公司谨重许诺!产品名副正本!假一赔十无效赔十倍!十天包换一个月包退牛小帅作弊辅助器是一对一匹配制作的,防辅闪退联系我的时候请说是在上看到的,谢谢。
温馨提示:
终于知道微信群斗牛作弊软件通用版—《黑科技助手》
-百色便民网信息由便民网会员发布,其真实性及合法性由发布人负责。便民网仅引用以供用户参考,如需交易,谨防夸大事实、不实承诺、虚假宣传等诈骗行为,要求预付定金、汇款至个人银行帐户或网上交易等方式存在风险,谨防上当受骗!详情请阅读便民网免责条款。。微信群麻将有啥作弊方法--官方最新黑科技软件_易搜网
您当前的位置: &
& 微信群麻将有啥作弊方法--官方最新黑科技软件
微信群麻将有啥作弊方法--官方最新黑科技软件
【科技讯】9月26日消息,自iPhone 6到今年的iPhone 8,苹果每年发布新款手机,都会有一个同代的Plus版本,而与iPhone 8一同发布的iPhone X这款十周年几年款,会不会也同样存在Plus的版本呢?据近日国外网友的爆料显示,iPhone X Plus确实是是存在的,一起来看看这款iPhone X的放大增强版到底怎样吧。
24小时在线服务购买加客服微信::
24小时在线服务购买加客服微信::
【麻将软件中心】皮皮麻将看穿器.湖南麻将看牌器.呱呱麻将做软件.闲来麻将软件<span class="keylink">.土豪金麻将看穿软件/长沙麻将看牌软件.四川麻将看穿做器.郑州麻将看牌做器.手游麻将辅助做器.&
1、皮皮.闲来.土豪金.呱呱麻将控制上手拿好牌.看穿等...
2、转转麻蒋【平江红中】可以选择6.8局、可抢杠胡、红中癞子
3、玩湖南、昭阳麻蒋4、8局起手拿门清牌、起手拿平胡牌、起手拿七巧对牌
4、玩四川、4、8局、模式血战到底、倒到胡、最大番数、2、3、4番
5、呱呱【跑得快】呱呱麻蒋4、10局玩法选择:258做。可胡七对、红中癞子、只抢杠胡、只能自摸胡
6、土豪金麻蒋8、16局玩法选择、可抢杠胡、只能自摸胡、扎2.4.6个鸟
科技讯】12月1日消息,拥有强大的配置一直都是用户对于手机的追求。onePlus 3T搭载了骁龙821处理器,与onePlus 3搭载的骁龙820相比,CPU主频从2.2GHz升级至2.3GHz,速度提升10%,功耗却降低5%;图形处理器Adreno 530的速度提升了5%。同时,该处理器还将开机时间缩短10%,应用启动速度提升10%,并提供更顺畅、更具响应性的用户交互,进一步提升了用户体验。
24小时在线服务购买加客服微信::
iPhone9上市时间曝光 苹果9将采用无线EarPod
24小时在线服务购买加客服微信::
【麻将软件中心】皮皮麻将看穿器.湖南麻将看牌器.呱呱麻将做弊软件.闲来麻将软件<span class="keylink">.土豪金麻将看穿软件/长沙麻将看牌软件.四川麻将看穿做弊器.郑州麻将看牌做弊器.手游麻将辅助做弊器.&
控制麻将挂软件本公司震撼推出了全能麻将神器。微信.皮皮.呱呱.闲来.土豪金.麻将神器软件漏洞插件 软件能够全天候挂机,不用你时时刻刻瞪着手机害怕不会控制了,软件还能辅助大家提高上手好牌.等等更多功能,有些客户不懂的可以打
24小时在线服务购买加客服微信::
1、皮皮.闲来.土豪金.呱呱麻将控制上手拿好牌.看穿等...
2、转转麻将【平江红中】可以选择6.8局、可抢杠胡、红中癞子
3、玩湖南、昭阳麻将4、8局起手拿门清牌、起手拿平胡牌、起手拿七巧对牌
4、玩四川、4、8局、模式血战到底、倒到胡、最大番数、2、3、4番
5、呱呱【跑得快】呱呱麻将4、10局玩法选择:258做将。可胡七对、红中癞子、只抢杠胡、只能自摸胡
6、土豪金麻将8、16局玩法选择、可抢杠胡、只能自摸胡、扎2.4.6个鸟
7、专业销售闲来、土豪金、湖南、长沙、昭阳麻将做弊软件外挂
购买外挂软件微信客服:
麻将软件助手特色:
1、麻将软件助手是一款功能更加强大的麻将做弊软件!
2、自动连接,用户只要开启软件,就会全程后台自动连接程序,无需用户时时盯着软件。妙用AccessibilityService黑科技实现微信自动加好友拉人进群聊 - 简书
妙用AccessibilityService黑科技实现微信自动加好友拉人进群聊
在上上周的周六和周日,我发了两篇利用itchat实现微信机器人的文章(Python):
通过把脚本挂到服务器上,自此告别手动挡,不用去手动转发小宇宙,
不用手动加好友,然后把别人一个个拉到我的Py交易群里。正当我
暗自窃喜的时候,微信并没有放过我这只小猫咪。
我还记得那天早上,我兴高采烈早早来到公司,更新了一波代码准备为
我的机器人添砖加瓦的时候,当我关闭了阿里云上的脚本,这时候意外来了,
我的机器人小号,再也无法通过微信网页端的接口登录了!!!
扫描完二维码,永远提示的都是下面这样一句话:
&error&&ret&1203&/ret&&message&当前登录环境异常。为了你的帐号安全,暂时不能登录web微信。
你可以通过Windows微信、Mac微信或者手机客户端微信登录。&/message&&/error&
是的,就是这样一句话,找不到申诉渠道,也不知道何时才可能会解封。(客户端任可正常使用)
而现在另外新申请的微信小号是无法登录微信网页端的,其实这是微信在慢慢关停网页版登录,
最主要的原因就是机器人泛滥!
没有了网页版微信,日子还是要过的,难道只能回归手动档么?几种解决方案:
1.研究客户端协议(这个成本巨高,而且官方稍微改点东西,够你哭的)
2.APP逆向,利用Xposed框架,hook相关的方法,也是有些研究成本的;
3.利用类似与按键精灵的东西,编写脚本让他自动点点点,自动化测试
工具或者本节讲的这个无障碍服务——AccessibilityService
AccessibilityService其实不是一个新的东西了,老久之前就有了,
官方原意:优化残障人士的使用体验的,而在我大天朝:
抢红包,自动安装,一键XXX等等,可谓欣欣向荣。
使用AccessibilityService也非常Easy,核心要点就是:
通过UI Automator找到节点,通过resource-id,text,content-desc等
唯一特征定位到具体的节点,接着执行各种模拟操作,点,滚动,填充,
用法比较简单的,大部分时间会花在试错和逻辑调整上!
来一发通过AccessibilityService实现的自动加好友以及拉人进群聊的Gif体验下:
Gif加速了一点,不过完成加好友以及拉人总共也就耗时15s,是相当客观的啦。
下面就来介绍下AccessibilityService这个玩意怎么用吧~
AccessibilityService用法简介
1.自定义Service继承AccessibilityService
如题,自定义一个AccessibilityService类,重写两个主要方法:
onInterrupt( ):辅助功能中断的回调,基本不用理,核心还是
onAccessibilityEvent(AccessibilityEvent event) 上。
当界面发生了什么事情,比如顶部Notification,界面更新,内容变化等,
会触发这个方法,你可以根据不同的事件响应不同的操作,比如小猪这个
就是当顶部出现加好友的Notification的event时,跳转到加好友页。
点开AccessibilityEvent类可以看到一堆的事件类型~
TYPE_VIEW_CLICKED
View被点击
TYPE_VIEW_LONG_CLICKED
View被长按
TYPE_VIEW_SELECTED
View被选中
TYPE_VIEW_FOCUSED
View获得焦点
TYPE_VIEW_TEXT_CHANGED
View文本变化
TYPE_WINDOW_STATE_CHANGED
打开了一个PopupWindow,Menu或Dialog
TYPE_NOTIFICATION_STATE_CHANGED
Notification变化
TYPE_VIEW_HOVER_ENTER
一个View进入悬停
TYPE_VIEW_HOVER_EXIT
一个View退出悬停
TYPE_TOUCH_EXPLORATION_GESTURE_START
触摸浏览事件开始
TYPE_TOUCH_EXPLORATION_GESTURE_END
触摸浏览事件完成
TYPE_WINDOW_CONTENT_CHANGED
窗口的内容发生变化,或子树根布局发生变化
TYPE_VIEW_SCROLLED
TYPE_VIEW_TEXT_SELECTION_CHANGED
Edittext文字选中发生改变事件
TYPE_ANNOUNCEMENT
应用产生一个通知事件
TYPE_VIEW_ACCESSIBILITY_FOCUSED
获得无障碍焦点事件
TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED
无障碍焦点事件清除
TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY
在给定的移动粒度下遍历视图文本的事件
TYPE_GESTURE_DETECTION_START
开始手势监测
TYPE_GESTURE_DETECTION_END
结束手势监测
TYPE_TOUCH_INTERACTION_START
触摸屏幕事件开始
TYPE_TOUCH_INTERACTION_END
触摸屏幕事件结束
TYPE_WINDOWS_CHANGED
屏幕上的窗口变化事件,需要API 21+
TYPE_VIEW_CONTEXT_CLICKED
View中的上下文点击事件
TYPE_ASSIST_READING_CONTEXT
辅助用户读取当前屏幕事件
好吧,上面的表其实并没什么大用,我还是习惯直接把event.toString()给打印出来,
然后自行去判断~
如图就可以拿到event类型,以及产生对应事件的类名,核心是这两个,
除此之外还有Text和ContentDescription等。
比如我那个监听Notification跳转到添加好友页的:
这里就是对事件类型做了下判断,然后获取contentIntent,跳转而已。
简单点讲就是:
你在这个方法里,去判断一波事件类型和className,
然后再获取控件,做一些点击,滚动,填充文本等。
2.服务的配置
自定义完这个服务要想让他启用你还得执行下面的操作:
Step 1:在res文件夹下创建xml文件夹,新建一个配置的xml文件(名字自己定)
&?xml version="1.0" encoding="utf-8"?&
&accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeNotificationStateChanged|typeWindowStateChanged|typeWindowContentChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"
android:notificationTimeout="100"
android:packageNames="com.tencent.mm"
android:settingsActivity="com.coderpig.wechathelper.MainActivity" /&
属性简介如下:
accessibilityEventTypes:设置监听的事件种类,用|隔开,监听所有可以用typeAllMask;
accessibilityFeedbackType:服务提供的反馈类型,feedbackGeneric通用反馈;
accessibilityFlags:辅助功能附加的标志,flagDefault默认的配置
canRetrieveWindowContent:辅助功能服务是否能够取回活动窗口内容的属性
notificationTimeout:响应时间
packageNames:监听的应用包名,不填,默认监听所有应用的事件
settingsActivity:允许用户修改辅助功能的activity类名
Step 2:接着AndroidManifest.xml文件中对该Service进行配置
先是添加一个权限:
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
接着是Service的配置:
这里是你那个配置文件xml文件的文件名,其他照抄。
Step 3:安装到手机后,需要在手机设置的无障碍处开启服务
一般在设置的辅助功能处能找到:
如果Logcat那里能看到打印的LOG,说明服务正常运行,接下来要找控件节点
这里可以用到神器UI Automator来查看布局层次,打开Android Studio,
Ctrl + alt + A,输入 monitor
依次点击:选中设备 -& Dump View Hierarchy for UI Automator
稍等一会,右侧就会出现当前页面的布局层次图,如图随手选中一个邀请的节点:
右侧可以拿到对应的信息,一般比较常用的是这几个,有一点要注意!!!
resource-id不一定是唯一的
获得控件基本都会通过下述这个方法:
getRootInActiveWindow( ):获取当前整个活动窗口的根节点
返回的是一个AccessibilityNodeInfo类,代表View的状态信息,
提供了下述几个非常实用的方法:
getParent:获取父节点。
getChild:获取子节点。
performAction:在节点上执行一个动作。
findAccessibilityNodeInfosByText:通过字符串查找节点元素。
findAccessibilityNodeInfosByViewId:通过视图id查找节点元素。
后面的这两个方法会返回一个AccessibilityNodeInfo列表,一般操作是
遍历,然后筛选特定节点,比如我程序里的,获得底部Tab节点为"通讯录",
然后点击,跳转后遍历,筛选"群聊"的节点,点击。
另外,UI Automator有时并不可靠(实时问题),我建议写多一个遍历节点
的方法,可以更清楚里面的控件情况:
拿到控件,接着就到触发事件了。
4.触发事件
通过调用performAction()传入一个时间类型即可触发相应时间,比如点击,长按等
事件就多了,自己点开AccessibilityNodeInfo类查看吧,这里介绍下最常用的几个事件:
performAction(AccessibilityNodeInfo.ACTION_CLICK);
performAction(AccessibilityNodeInfo.ACTION_LONG_CLICK);
performAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD); //向下滚一下
performAction(AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD); //向上滚一下
//填充EditText(API版本需要&18可用方法1,API&21两种方法都可以使用)
ClipboardManager clipboard = (ClipboardManager)this.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("text", "填充内容");
clipboard.setPrimaryClip(clip);
//获得焦点
info.performAction(AccessibilityNodeInfo.ACTION_FOCUS);
////粘贴进入内容
info.performAction(AccessibilityNodeInfo.ACTION_PASTE);
Bundle arguments = new Bundle();
arguments.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, "填充内容");
info.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments);
除了控件触发事件外,AccessibilityService提供了一个performGlobalAction(),用于执行
一些通用的事件:
GLOBAL_ACTION_BACK
点击返回按钮
GLOBAL_ACTION_HOME
GLOBAL_ACTION_NOTIFICATIONS
GLOBAL_ACTION_RECENTS
打开最近应用
GLOBAL_ACTION_QUICK_SETTINGS
打开快速设置
GLOBAL_ACTION_POWER_DIALOG
打开长按电源键的弹框
另外在实际开发中,直接调用这些全局方法又是并没有生效,
我在调GLOBAL_ACTION_BACK的时候就发现有时不会回退,
个人的解决方案是使用handler.postDelay()延时执行:
除了这样玩以外,我还利用时间差,串行去执行几个任务,比如:
上面的步骤是:
进入群聊聊天信息页后,列表滚动两次,接着依次:
1.延时1s后,找到添加成员按钮并点击;
2.延时2.3s后,把名字填充到EditText里
3.延时3s后,点击确定按钮
就不用过于依赖onAccessibilityEvent方法,除了用handler.postDelay外,
还可以用Thread.sleep(休眠时长),用到的点大概就这么多,其余的自行探究吧。
本节讲解一波如何通过AccessibilityService来实现自动加好友以及拉人进群,
之前是打算用xposed来写的,后面发现没我想像中简单,而且很多用安卓机的都
不会搞机(基),root也不会,后来还是选择了AccessibilityService,简单易用,
当然后面还是会研究一波xposed实现的,敬请期待~
对了,还有,之前那个网页端的机器人被封原因估计是信息秒回,如果有还用
itchat那个做机器人的,建议回复的时间可以稍微延长些;
关于AccessibilityService更多内容可见:
Android辅助功能:
Building Accessibility Services:
Developing an Accessibility Service:
附:关键代码(都可以在: 找到):
代码有Bug的话正常,后续会优化下逻辑,感觉写得有点杂~
package com.coderpig.
import android.accessibilityservice.AccessibilityS
import android.app.N
import android.app.PendingI
import android.os.B
import android.os.H
import android.util.L
import android.view.accessibility.AccessibilityE
import android.view.accessibility.AccessibilityNodeI
import java.util.L
* 描述:微信监控服务类
* @author CoderPig on
public class HelperService extends AccessibilityService {
private static final String TAG = "HelperService";
private Handler handler = new Handler();
private String userName = "123";
public void onAccessibilityEvent(AccessibilityEvent event) {
int eventType = event.getEventType();
CharSequence classNameChr = event.getClassName();
String className = classNameChr.toString();
Log.d(TAG, event.toString());
switch (eventType) {
case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED:
if (event.getParcelableData() != null && event.getParcelableData() instanceof Notification) {
Notification notification = (Notification) event.getParcelableData();
String content = notification.tickerText.toString();
if (content.contains("请求添加你为朋友")) {
PendingIntent pendingIntent = notification.contentI
pendingIntent.send();
} catch (PendingIntent.CanceledException e) {
e.printStackTrace();
case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED:
switch (className) {
case "com.tencent.mm.plugin.subapp.ui.friend.FMessageConversationUI":
addFriend();
case "com.tencent.mm.plugin.profile.ui.SayHiWithSnsPermissionUI":
verifyFriend();
case "com.tencent.mm.plugin.profile.ui.ContactInfoUI":
performBackClick();
case "com.tencent.mm.ui.LauncherUI":
if (!userName.equals("123")) {
openGroup();
case "com.tencent.mm.ui.contact.ChatroomContactUI":
if (!userName.equals("123")) {
inviteGroup();
case "com.tencent.mm.ui.chatting.ChattingUI":
if (!userName.equals("123")) {
openGroupSetting();
case "com.tencent.mm.plugin.chatroom.ui.ChatroomInfoUI":
if (userName.equals("123")) {
performBackClick();
addToGroup();
case "com.tencent.mm.ui.base.i":
dialogClick();
case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED:
private void addFriend() {
AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();
if (nodeInfo != null) {
List&AccessibilityNodeInfo& list = nodeInfo
.findAccessibilityNodeInfosByText("接受");
if (list != null && list.size() & 0) {
for (AccessibilityNodeInfo n : list) {
n.performAction(AccessibilityNodeInfo.ACTION_CLICK);
performBackClick();
private void verifyFriend() {
AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();
//获得用户名
if (nodeInfo != null) {
userName = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/d0n").get(0).getText().toString();
AccessibilityNodeInfo finishNode = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/hd").get(0);
finishNode.performAction(AccessibilityNodeInfo.ACTION_CLICK);
private void openGroup() {
AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();
if (nodeInfo != null) {
List&AccessibilityNodeInfo& nodes = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/ca5");
for (AccessibilityNodeInfo info : nodes) {
if (info.getText().toString().equals("通讯录")) {
info.getParent().performAction(AccessibilityNodeInfo.ACTION_CLICK);
handler.postDelayed(new Runnable() {
public void run() {
AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();
if (nodeInfo != null) {
List&AccessibilityNodeInfo& nodes = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/j5");
for (AccessibilityNodeInfo info : nodes) {
if (info.getText().toString().equals("群聊")) {
info.getParent().getParent().performAction(AccessibilityNodeInfo.ACTION_CLICK);
private void inviteGroup() {
AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();
if (nodeInfo != null) {
List&AccessibilityNodeInfo& nodes = nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/a9v");
for (AccessibilityNodeInfo info : nodes) {
if (info.getText().toString().equals("小猪的Python学习交流群")) {
info.getParent().performAction(AccessibilityNodeInfo.ACTION_CLICK);
private void openGroupSetting() {
AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();
if (nodeInfo != null) {
nodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/he").get(0).performAction(AccessibilityNodeInfo.ACTION_CLICK);
private void addToGroup() {
AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();
if (nodeInfo != null) {
List&AccessibilityNodeInfo& listNodes = nodeInfo.findAccessibilityNodeInfosByViewId("android:id/list");
if(listNodes != null && listNodes.size() & 0) {
AccessibilityNodeInfo listNode = listNodes.get(0);
listNode.performAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
listNode.performAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
final AccessibilityNodeInfo scrollNodeInfo = getRootInActiveWindow();
if (scrollNodeInfo != null) {
handler.postDelayed(new Runnable() {
public void run() {
List&AccessibilityNodeInfo& nodes = scrollNodeInfo.findAccessibilityNodeInfosByViewId("com.tencent.mm:id/d0b");
for (AccessibilityNodeInfo info : nodes) {
if (info.getContentDescription().toString().equals("添加成员")) {
info.getParent().performAction(AccessibilityNodeInfo.ACTION_CLICK);
handler.postDelayed(new Runnable() {
public void run() {
List&AccessibilityNodeInfo& editNodes = getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.tencent.mm:id/arz");
if(editNodes != null && editNodes.size() & 0) {
AccessibilityNodeInfo editNode = editNodes.get(0);
Bundle arguments = new Bundle();
arguments.putCharSequence(AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE, userName);
editNode.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments);
}, 2300L);
handler.postDelayed(new Runnable() {
public void run() {
List&AccessibilityNodeInfo& cbNodes = getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.tencent.mm:id/kr");
if(cbNodes != null) {
AccessibilityNodeInfo cbNode =
if(cbNodes.size() == 1) {
cbNode = cbNodes.get(0);
} else if(cbNodes.size() == 2) {
cbNode = cbNodes.get(1);
if (cbNode != null) {
cbNode.getParent().performAction(AccessibilityNodeInfo.ACTION_CLICK);
AccessibilityNodeInfo sureNode = getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.tencent.mm:id/hd").get(0);
sureNode.performAction(AccessibilityNodeInfo.ACTION_CLICK);
}, 3000L);
private void dialogClick() {
AccessibilityNodeInfo inviteNode = getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.tencent.mm:id/aln").get(0);
inviteNode.performAction(AccessibilityNodeInfo.ACTION_CLICK);
userName = "123";
handler.postDelayed(new Runnable() {
public void run() {
List&AccessibilityNodeInfo& sureNodes = getRootInActiveWindow().findAccessibilityNodeInfosByViewId("com.tencent.mm:id/aln");
if(sureNodes != null && sureNodes.size() & 0) {
AccessibilityNodeInfo sureNode = sureNodes.get(0);
sureNode.performAction(AccessibilityNodeInfo.ACTION_CLICK);
private void performBackClick() {
handler.postDelayed(new Runnable() {
public void run() {
performGlobalAction(AccessibilityService.GLOBAL_ACTION_BACK);
//遍历控件的方法
public void recycle(AccessibilityNodeInfo info) {
if (info.getChildCount() == 0) {
Log.i(TAG, "child widget----------------------------" + info.getClassName().toString());
Log.i(TAG, "showDialog:" + info.canOpenPopup());
Log.i(TAG, "Text:" + info.getText());
Log.i(TAG, "windowId:" + info.getWindowId());
Log.i(TAG, "desc:" + info.getContentDescription());
for (int i = 0; i & info.getChildCount(); i++) {
if (info.getChild(i) != null) {
recycle(info.getChild(i));
public void onInterrupt() {
来啊,Py交易啊
想加群一起学习Py的可以加下,智障机器人小Pig,验证信息里包含:
Python,python,py,Py,加群,交易,屁眼 中的一个关键词即可通过;
验证通过后回复 加群 即可获得加群链接(不要把机器人玩坏了!!!)~~~
欢迎各种像我一样的Py初学者,Py大神加入,一起愉快地交流学♂习,van♂转py。
我们所经历的一切迷茫,都不是由外界造成的,归根结底,还是因为自己过于懒惰。
引用 微信红包自打出世以来就极其受欢迎,抢红包插件可谓红极一时.今天,我们重新谈谈抢红包插件的哪些事儿.本质上,抢红包插件的原理不难理解,其过程就是在收到红包时,自动模拟点击.做过自动化UI测试的童鞋应该非常熟悉了.那么问题来了,我们怎么知道有没有红包,又怎么模拟点击操作呢...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
一句话概括本文: 上一节利用itchat这个库,做了小宇宙早报的监测与转发,本节新增自动过滤加好友申请,根据关键字自动回复,拉人进群聊等实用功能,简单而且有意思。 引言: 昨天说好的随缘更新,这不,今早就有idea了,自从开始在掘金投Py相关的文章,每天就一堆加群的,从之前...
Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
文案,其实一直不愿提这个词语。写了多少年的作文,也写不好一篇文章;学了六七年英语,到头来还是哑巴一个;这个就是现状。最近在带一帮人写“文案”,憋住,别笑,我讲的是真的。 “你是不是有点二,就你这样还带人写文案?” “没错,因为我发现文案这个事情,或者创意这个事情,只有很二的...
忍耐是一个一直备受争议的词语,有人说忍耐是过去的,如今已不需要;也有人说,忍耐是人一生必须探讨的话题。 现在,很多事物的发展速度之快已经不能想象,可以看到越来多已经的人不会去忍耐。因为这是长辈的观点,“吃得苦中苦,方为人上人。”而如今你也可以看到很多人吃了一辈子苦,可依然只...
我,典型天蝎城府女,自小喜欢精打细算,多爱计算呢?和朋友一起买了10.3块的东西,我愣是打了5.15块过去。 人家说右手手指并拢,中指和无名指合不拢,是守不住财的。于是我挨个去看我的朋友的手指,和我并不拢的一比,我就推翻了这个老祖宗的理论。我想,大概是肉堆的太多所以无名指和...
打开家门,慢慢的走了进去,双腿颤抖着再也站不稳,斜斜的倒在沙发上,眼泪不受控制的往外流,困倦的蜷起身子,闭上眼睛。 闪电劈开黝黑的天空,雨点无情的敲打着窗台。一声声,都似敲打着自己的神经,整个脑袋沉重得像要炸开了…… “她就是个害人精,谁敢要她,她沈家人谁敢要她?” “舅妈...
「首先建议大家去听一下 陈思诚和王宝强版的《往事只能回味》」 如今处处都在谈论唐人街探案,我却听着陈思诚的《往事只能回味》惹了满心的感动。作为一个路人粉,这些年对他的动态也多多少少有所关注。今天他终于获得成功,从前他这一路的不容易,一一浮上了心头。 网易云有听友评论,“我有...}

我要回帖

更多关于 微信加人技巧 的文章

更多推荐

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

点击添加站长微信