日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓微信自动抢红包插件优化和实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載請注明作者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", "有事件" + eventType);switch (eventType) {//當通知欄發生改變時case 2048:pubclassName = event.getClassName().toString();Log.e("AAAAAAAA", "有2048事件" + pubclassName + auto);if (!auto && pubclassName.equals("android.widget.TextView") && ALL) {Log.e("AAAAAAAA", "有2048事件被識別" + auto + pubclassName);getLastPacket(1);}if (auto && WXMAIN) {getLastPacket();auto = false;}break;

所以在接受的時候,去處理一下去點擊領取紅包。然而這個方法會被頻發調用,我們就加一個”android.widget.TextView”事件類的篩選,然后還是會被很頻繁調用,會比較遲性能耗電。
那就加個布爾ALL標志位,讓用戶控制是否開啟聊天界面內也搶紅包的模式。
為了不反復領取要記錄上次界面內的紅包數量在紅包增加的時候才去領取:

private void getLastPacket(int c) {Log.e("AAAAAAAA", "新方法" + parents.size());AccessibilityNodeInfo rootNode = getRootInActiveWindow();recycle(rootNode);Log.e("AAAAAAAA", "last++" + lastbagnum + "當前頁面紅包數" + parents.size());if (parents.size() > 0 && WXMAIN) {Log.e("AAAAAAAA", "頁面大于O且在微信界面");if (lastbagnum < parents.size())parents.get(parents.size() - 1).performAction(AccessibilityNodeInfo.ACTION_CLICK);lastbagnum = parents.size();parents.clear();}}

目前在通過插件領過幾個紅包后,一個聊天界面突然發第一個紅包(沒有通知欄)會有一定幾率領取不到,再繼續發就正常了,應該是清空問題,該bug筆者也在更改邏輯中。

點亮屏幕方法(有密碼肯定是不行的):

private void wakeAndUnlock2(boolean b){if(b){//獲取電源管理器對象pm=(PowerManager) getSystemService(Context.POWER_SERVICE);//獲取PowerManager.WakeLock對象,后面的參數|表示同時傳入兩個值,最后的是調試用的Tagwl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");//點亮屏幕wl.acquire();//得到鍵盤鎖管理器對象km= (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);kl = km.newKeyguardLock("unLock");//解鎖kl.disableKeyguard();}else{//鎖屏kl.reenableKeyguard();//釋放wakeLock,關燈wl.release();}}

接受到通知欄的紅包消息亮屏設置標志位為自動領取,調取領取函數:

if (content.contains("[微信紅包]")) {if (event.getParcelableData() != null &&event.getParcelableData() instanceof Notification) {Notification notification = (Notification) event.getParcelableData();PendingIntent pendingIntent = notification.contentIntent;try {auto = true;wakeAndUnlock2(true);pendingIntent.send();Log.e("demo", "進入微信" + auto + event.getClassName().toString());} catch (Exception e) {e.printStackTrace();}}}

點擊界面控件方法:(不同微信版本控件id不一樣我的是6.3.25)如果不知道怎么獲取這個id可以看下面的參考文獻最后一個,右側的resource-id就是這個id

順便說一下目前微信
6.3.31開紅包按鈕的id是com.tencent.mm:id/bg7換成這個就好了
6.3.32開紅包按鈕的id是com.tencent.mm:id/bdh換成這個就好了

6.5.3版本(1月13號最新版本)
com.tencent.mm:id/be_ 換成這個就好了

目前不知道什么問題,在6.5.3下有一些手機無法監控到紅包推送的通知,我也正在修復中。穩定版本6.3.32仍然可用。

click("com.tencent.mm:id/be_");

好多同學還是不懂如何獲取id,我再上個詳細的圖:

顯示選擇這里:

然后:

在Activity中設置聊天中領取開關:

public void start(View v) {if (AirAccessibilityService.ALL) {AirAccessibilityService.ALL = false;((Button) v).setText("對話內監控+關");} else {AirAccessibilityService.ALL = true;((Button) v).setText("對話內監控+開");};}

AccessibilityService的確很吊,你用AccessibilityService或者root后的安卓手機能干太多事了,或好或壞,但畢竟技術是無罪的。

同時也推薦我的文章:
安卓手機變攝像頭,自動接起QQ電話
http://blog.csdn.net/androidmsky/article/details/53066441

歡迎關注作者。歡迎評論討論。歡迎拍磚。 如果覺得這篇文章對你有幫助,歡迎打賞, 歡迎star,Fork我的github。 喜歡作者的也可以Follow。也算對作者的一種支持。 本文Github代碼鏈接
https://github.com/AndroidMsky/WXhongbao

歡迎加作者自營安卓開發交流群:308372687

轉載請注明作者AndroidMSky和鏈接
http://blog.csdn.net/AndroidMsky/article/details/53490459


也是看了很多資料謝謝各路英雄好漢們
參考文章:
http://www.jb51.net/article/65537.htm
http://blog.csdn.net/shineflowers/article/details/47109349
http://blog.csdn.net/qq_30379689/article/details/53242953

總結

以上是生活随笔為你收集整理的安卓微信自动抢红包插件优化和实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧日韩在线视频 | 少女视频的播放方法 | 五月婷综合 | 影音先锋亚洲精品 | 天天想你免费观看完整版高清电影 | 伊人国产视频 | 成人福利在线观看 | 日本一区二区三区免费视频 | 欧美黄色成人 | 国产毛片在线 | 韩国精品在线观看 | 精品人妻午夜一区二区三区四区 | 综合久久久久久 | 福利视频在线导航 | 麻豆精品国产传媒av | 亚洲精品日日夜夜 | 调教女m荡骚贱淫故事 | 国产一区亚洲一区 | 少妇av在线播放 | 欧美午夜精品久久久久免费视 | 青青草视频在线免费观看 | 美女被草视频在线观看 | www日本xxx| 久久免费毛片 | 日韩资源在线 | 888奇米影视 | 国产综合视频 | 操操日日| 黑人玩弄人妻一区二区三区四 | 青青草国产精品视频 | 制服丝袜亚洲色图 | 人妻与黑人一区二区三区 | 亚洲综合精品国产一区二区三区 | 黄色成人免费视频 | www,五月天,com | 日本黄色a视频 | 国外成人免费视频 | 国产精品一区二区三区免费看 | 精品一区二区三区在线播放 | 91精品国产一区二区 | 国产伦理自拍 | 牛牛影视一区二区 | 午夜网站在线观看 | 久久久久久高清 | 黑人精品一区二区 | 久久综合中文 | 久久综合伊人77777麻豆 | 亚洲经典一区二区 | 跪求黄色网址 | 涩涩的视频在线观看 | 中文字幕乱码中文乱码b站 国产一区二区三区在线观看视频 | 天堂精品一区二区三区 | 91视频在线观看 | 97成人免费视频 | 99久免费精品视频在线观78 | 97自拍网 | 在线观看中文字幕2021 | 午夜少妇视频 | 999久久久久久久久6666 | 日韩国产亚洲欧美 | 成人一级网站 | 美女被啪羞羞粉色视频 | 亚洲日本天堂 | 久久精品欧美一区二区三区不卡 | 另类一区二区 | 日韩成人午夜影院 | 日产精品久久久久 | 天堂8av | 国产乱视频 | 日韩av在线一区二区 | jjzz日本女人 | 极品白嫩的小少妇 | a级片在线观看视频 | 激情午夜视频 | 国产精品国产a级 | 色眯眯视频 | 免费毛片一区二区三区 | av黄色网| 日韩精品一区二区在线视频 | 无码人妻丰满熟妇区毛片蜜桃精品 | 777av| 三级小说视频 | 调教女m荡骚贱淫故事 | 国产8区| 六月天综合网 | 69视频在线免费观看 | 免费网站在线观看黄色 | 毛片视频免费播放 | 激情九九 | 少妇高潮大叫好爽喷水 | 在线看片网站 | av在线免 | 国产精欧美一区二区三区白种人 | 日韩av高清无码 | 欧美孕妇性xx | 91色九色 | 欧美体内谢she精2性欧美 | 精品无码一区二区三区的天堂 | 日韩一区二区三区四区 |