辅助功能没有征途2抢红包辅助

近日,一位帅气男老师因在画“人体骨骼图”红遍网络。 一辆轿车撞断护栏,一根直插驾驶室,司机半边脸撕裂。 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。   科客点评:与其守在手机前等红包,我还不如用这些时间多陪陪家人,春节一年才一次。   春节将至,不少手残党都开始在烦恼春节该如何抢更多的红包。为此,不少手机商甚至软件商都推出了抢红包提醒的功能,这么一来就能让大家更轻松地抢到红包,提高抢红包的效率。   手机厂商们纷纷都在系统中加入红包提醒功能,这功能似乎成为了春节必备。不过对此,一加可不是这么看的。2月4日下午,一加的氢OS官方微博发出一则长图文消息表示让红包歇一会!大家在春节里抢红包就是图个喜庆、高兴。如今的红包提醒功能或者抢红包工具就像是作弊器一样存在,既没有尊重微信平台的运营规则和生态,同时让抢红包失去了原有的氛围和乐趣,希望大家别指望能通过“作弊软件”来抢红包从而一夜暴富!   随后,一加CEO刘作虎也转发了这则微博,并表示其实一加是开发过类似的工具的,但最终由于上述的原因被他毙了。并表示“作为一个手机厂商,也希望大家春节时更多和家人聚聚,尽量少玩手机。”   抢红包软件的出现确实破坏了其本身的体验,虽然它真的可以增加我们抢红包的效率,但抢红包本身其实就不是一件必须要做的事情,抢不抢得到并不会影响生活,根本和效率挂不上钩,同时还会冒着封号的危险。所以我们也不要太过纠结今年抢到了多少,今年一定要抢到多少,这些都太不实际了。关注科客网官方微信kekebat,获取更多精彩资讯。(文/Doom)   注:科客网原创文章,欢迎转载与分享,转载请注明出处。 欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。 请先登录再操作 请先登录再操作 微信扫一扫分享至朋友圈 搜狐公众平台官方账号 生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者 搜狐网教育频道官方账号 全球最大华文占星网站-专业研究星座命理及测算服务机构 科客网()一个富有活力的科技... 4360文章数 主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹 主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦 主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓 主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree 主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔 baby14岁写真曝光 李冰冰向成龙撒娇争宠 李湘遭闺蜜曝光旧爱 美女模特教老板走秀 曝搬砖男神奇葩择偶观 柳岩被迫成赚钱工具 大屁小P虐心恋 匆匆那年大结局 乔杉遭粉丝骚扰 男闺蜜的尴尬初夜 客服热线:86-10- 客服邮箱:红包软件是不是有自动抢红包辅助功能 核心提示:【抢红包神器】【抢红包神器】本公司震撼推出了全能自动微信抢红包神器。手机版.微信版手机 微信抢红包插件 qq抢红包 陌陌抢红包&& 【抢红包神器】【抢红包神器】本公司震撼推出了全能自动微信抢红包神器。手机版.&微信版手机 微信抢红包插件 qq抢红包 陌陌抢红包 搭配完成,软件能够全天候挂机自动抢 手动抢红包·不用你时时刻刻瞪着手机害怕漏掉了红包·软件还能辅助大家提高抢红包的最佳手气等等更多功能,有些客户不懂的可以打黄经理 & & & & && & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & 我们有24小时专业技术人员为你解答:!!!!!!!! 最近有人冒充我公司网站信息,请认准我公司网站产品! 我司有专业技术人员为你24小时咨询电话: 黄经理: 灌浆料勤发发Android辅助功能AccessibilityService与抢红包辅助 作者:CSDN_SXL 字体:[ ] 类型:转载 时间: 抢红包的原理都差不多,一般是用Android的辅助功能(AccessibilityService类)先监听通知栏事件或窗口变化事件来查找红包关键字然后去模拟点击或打开红包 推荐阅读: 抢红包的原理都差不多,一般是用Android的辅助功能(AccessibilityService类)先监听通知栏事件或窗口变化事件来查找红包关键字然后去模拟点击或打开红包。 下面附上源码,程序已实现自动抢红包,锁屏黑屏状态自动解锁亮屏,Android4.X测试通过。函数具体功能请看详细注释。 注:在聊天界面收到红包不会自动打开,因为通知栏没有消息提示从而监听不了,此时只需手动点一下即可。其他未知情况请自行用LogCat调试,源码已经有相关的调试信息。软件仅供学习娱乐。 &pre style="margin-top: 0 margin-bottom: 0"&&span style="font-family: Arial, Helvetica, sans- color: rgb(192, 192, 192);"&&/span&&pre style="margin-top: 0 margin-bottom: 0"&import java.util.C import java.util.L import android.accessibilityservice.AccessibilityS import android.annotation.SuppressL import android.app.KeyguardM import android.app.KeyguardManager.KeyguardL import android.app.N import android.app.PendingI import android.app.PendingIntent.CanceledE import android.content.C import android.media.MediaP import android.os.PowerM import android.util.L import android.view.accessibility.AccessibilityE import android.view.accessibility.AccessibilityNodeI import android.widget.T public class Demo extends AccessibilityService { private boolean canGet =//能否点击红包 private boolean enableKeyguard =//默认有屏幕锁 //窗口状态 private static final int WINDOW_NONE = 0; private static final int WINDOW_LUCKYMONEY_RECEIVEUI = 1; private static final int WINDOW_LUCKYMONEY_DETAIL = 2; private static final int WINDOW_LAUNCHER = 3; private static final int WINDOW_OTHER = -1; //当前窗口 private int mCurrentWindow = WINDOW_NONE; //锁屏、解锁相关 private KeyguardM private KeyguardL //唤醒屏幕相关 private PowerM private PowerManager.WakeLock wl = //播放提示声音 private MediaP public void playSound(Context context) { Calendar cal = Calendar.getInstance(); int hour = cal.get(Calendar.HOUR_OF_DAY); //夜间不播放提示音 if(hour & 7 && hour & 22) { player.start(); //唤醒屏幕和解锁 private void wakeAndUnlock(boolean unLock) if(unLock) //若为黑屏状态则唤醒屏幕 if(!pm.isScreenOn()) { //获取电源管理器对象,ACQUIRE_CAUSES_WAKEUP这个参数能从黑屏唤醒屏幕 wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "bright"); //点亮屏幕 wl.acquire(); Log.i("demo", "亮屏"); //若在锁屏界面则解锁直接跳过锁屏 if(km.inKeyguardRestrictedInputMode()) { //设置解锁标志,以判断抢完红包能否锁屏 enableKeyguard = kl.disableKeyguard(); Log.i("demo", "解锁"); //如果之前解过锁则加锁以恢复原样 if(!enableKeyguard) { kl.reenableKeyguard(); Log.i("demo", "加锁"); //若之前唤醒过屏幕则释放之使屏幕不保持常亮 if(wl != null) { wl.release(); Log.i("demo", "关灯"); //通过文本查找节点 public AccessibilityNodeInfo findNodeInfosByText(AccessibilityNodeInfo nodeInfo, String text) { List&AccessibilityNodeInfo& list = nodeInfo.findAccessibilityNodeInfosByText(text); if(list == null || list.isEmpty()) { return list.get(0); //模拟点击事件 public void performClick(AccessibilityNodeInfo nodeInfo) { if(nodeInfo == null) { if(nodeInfo.isClickable()) { nodeInfo.performAction(AccessibilityNodeInfo.ACTION_CLICK); performClick(nodeInfo.getParent()); //模拟返回事件 public void performBack(AccessibilityService service) { if(service == null) { service.performGlobalAction(AccessibilityService.GLOBAL_ACTION_BACK); //实现辅助功能 public void onAccessibilityEvent(AccessibilityEvent event) { int eventType = event.getEventType(); Log.i("demo", Integer.toString(eventType)); 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("[微信红包]")||content.contains("[QQ红包]")) { //模拟打开通知栏消息 if (event.getParcelableData() != null && event.getParcelableData() instanceof Notification) { //播放提示音 playSound(this); //若是微信红包则解锁并自动打开,若是qq红包则只提示并跳转到有红包的聊天界面,暂未实现qq红包自动领取功能 if(content.contains("[微信红包]")) wakeAndUnlock(true); Log.i("demo", "canGet=true"); 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")) { mCurrentWindow = WINDOW_LAUNCHER; //开始抢红包 Log.i("demo", "准备抢红包..."); getPacket(); } else if (className.equals("com.tencent.mm.plugin.luckymoney.ui.LuckyMoneyReceiveUI")) { mCurrentWindow = WINDOW_LUCKYMONEY_RECEIVEUI; //开始打开红包 Log.i("demo", "打开红包"); openPacket(); wakeAndUnlock(false); } else if(className.equals("com.tencent.mm.plugin.luckymoney.ui.LuckyMoneyDetailUI")) { mCurrentWindow = WINDOW_LUCKYMONEY_DETAIL; //返回以方便下次收红包 Log.i("demo", "返回"); performBack(this); mCurrentWindow = WINDOW_OTHER; case AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED: if(mCurrentWindow != WINDOW_LAUNCHER) { //不在聊天界面或聊天列表,不处理 if(canGet) { getPacket(); //找到红包并点击 @SuppressLint("NewApi") private void getPacket() { AccessibilityNodeInfo nodeInfo = getRootInActiveWindow(); if (nodeInfo == null) { // 找到领取红包的点击事件 List&AccessibilityNodeInfo& list = nodeInfo.findAccessibilityNodeInfosByText("领取红包"); if(list != null ) { if(list.isEmpty()) { Log.i("demp", "领取列表为空"); // 从消息列表查找红包 AccessibilityNodeInfo node = findNodeInfosByText(nodeInfo, "[微信红包]"); if(node != null) { performClick(node); if(canGet) { //最新的红包领起 AccessibilityNodeInfo node = list.get(list.size() - 1); performClick(node); Log.i("demo", "canGet=false"); //打开红包 @SuppressLint("NewApi") private void openPacket() { AccessibilityNodeInfo nodeInfo = getRootInActiveWindow(); if(nodeInfo == null) { Log.i("demo", "查找打开按钮..."); AccessibilityNodeInfo targetNode = //如果红包已经被抢完则直接返回 targetNode = findNodeInfosByText(nodeInfo, "看看大家的手气"); if(targetNode != null) { performBack(this); //通过组件名查找开红包按钮,还可通过组件id直接查找但需要知道id且id容易随版本更新而变化,旧版微信还可直接搜“開”字找到按钮 if(targetNode == null) { Log.i("demo", "打开按钮中..."); for (int i = 0; i & nodeInfo.getChildCount(); i++) { AccessibilityNodeInfo node = nodeInfo.getChild(i); if("android.widget.Button".equals(node.getClassName())) { targetNode = //若查找到打开按钮则模拟点击 if(targetNode != null) { final AccessibilityNodeInfo n = targetN performClick(n); public void onInterrupt() { Toast.makeText(this, "抢红包服务被中断啦~", Toast.LENGTH_LONG).show(); protected void onServiceConnected() { super.onServiceConnected(); Log.i("demo", "开启"); //获取电源管理器对象 pm=(PowerManager)getSystemService(Context.POWER_SERVICE); //得到键盘锁管理器对象 km= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE); //初始化一个键盘锁管理器对象 kl = km.newKeyguardLock("unLock"); //初始化音频 player = MediaPlayer.create(this, R.raw.songtip_m); Toast.makeText(this, "_已开启抢红包服务_", Toast.LENGTH_LONG).show(); public void onDestroy() { super.onDestroy(); Log.i("demo", "关闭"); wakeAndUnlock(false); Toast.makeText(this, "_已关闭抢红包服务_", Toast.LENGTH_LONG).show(); AndroidManifest.xml中声明相关服务和权限 &uses-permission android:name="android.permission.WAKE_LOCK" /& &uses-permission android:name="android.permission.DISABLE_KEYGUARD" /& &application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" & &pre name="code" class="html"&&service android:name="com.example.test.Demo" android:enabled="true" android:exported="true" android:label="@string/app_name" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" & &intent-filter& &action android:name="android.accessibilityservice.AccessibilityService" /& &/intent-filter& &meta-data android:name="android.accessibilityservice" android:resource="@layout/accessibility_config"/&&/service&&/application& accessibility_config.xml服务配置内容如下 &accessibility-service xmlns:android="/apk/res/android" android:accessibilityEventTypes="typeNotificationStateChanged|typeWindowStateChanged|typeWindowContentChanged" android:accessibilityFeedbackType="feedbackGeneric" android:accessibilityFlags="flagDefault" android:canRetrieveWindowContent="true" android:description="@string/desc" android:notificationTimeout="100" android:packageNames= "com.tencent.mm,com.tencent.mobileqq" /& 其中description为辅助功能的描述内容,packageNames为监听的程序包名,此处只监听微信和QQ的accessibilityEventTypes 以上所述是针对Android辅助功能AccessibilityService与抢红包辅助的相关知识,希望对大家有所帮助。 您可能感兴趣的文章: 大家感兴趣的内容 12345678910 最近更新的内容 常用在线小工具

我要回帖

更多关于 yy抢红包辅助 的文章

 

随机推荐