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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

微信抢红包插件 English Version

發布時間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信抢红包插件 English Version 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個Android插件可以幫助你在微信群聊搶紅包時戰無不勝。當檢測到紅包時,插件會自動點擊屏幕,人工點擊的速度無法比擬。

你正在查看的是dev分支,這個分支包含大量實驗性的修改,不再更新。如果你希望有一個可以立即使用的插件請切換到stable分支。

注: stable分支的插件只點擊最新的紅包,根據目前測試搶紅包成功率100%。dev分支在stable分支的基礎上嘗試了大量修改和優化,能使用但無法保證穩定性。
下面的文檔僅針對dev分支。

預期特性

可以搶屏幕上顯示的所有紅包,同類插件往往只能獲取最新的一個紅包。
智能跳過已經戳過的紅包,避免頻繁點擊影響正常使用。
紅包日志 (默認未開啟),方便查看搶過的紅包內容。
性能優化,感受不到插件的存在,可一直后臺開啟,不影響日常聊天。
由于這是一份教學代碼,項目的文檔和注釋都比較完整,代碼適合閱讀。

實現原理

  • 搶紅包流程的邏輯控制
    這個插件通過一個Stage類來記錄當前對應的階段。Stage類被設計成單例并惰性實例化,因為一個Service不需要也不應該處在不同的階段。對外暴露階段常量和entering和getCurrentStage兩個方法,分別記錄和獲取當前的階段。
  • public class Stage {private static Stage stageInstance;public static final int FETCHING_STAGE = 0, OPENING_STAGE = 1, FETCHED_STAGE = 2, OPENED_STAGE = 3;private int currentStage = FETCHED_STAGE;private Stage() {}public static Stage getInstance() {if (stageInstance == null) stageInstance = new Stage();return stageInstance;}public void entering(int _stage) {stageInstance.currentStage = _stage;}public int getCurrentStage() {return stageInstance.currentStage;} }

    1.1 階段說明
    階段說明FETCHING_STAGE正在讀取屏幕上的紅包,此時不應有別的操作FETCHED_STAGE已經結束一個FETCH階段,屏幕上的紅包都已加入待搶隊列OPENING_STAGE正在拆紅包,此時不應有別的操作OPENED_STAGE紅包成功搶到,進入紅包詳情頁面

    1.程序以FETCHED_STAGE 開始,將屏幕上的紅包加入待搶隊列:

    --> FETCHED_STAGE --> FETCHING_STAGE --> FETCHED_STAGE -->

    2.處理待搶隊列中的紅包:

    --> [CLICK] --> OPENING_STAGE --> [CLICK] --> OPENED_STAGE --> [BACK] --> FETCHED_STAGE -->(搶到)--> [CLICK] --> OPENING_STAGE --> [BACK] --> FETCHED_STAGE -->(沒搶到)

    3.不斷重復流程1和2

    1.2 根據階段選擇不同的入口
    在每次窗體狀態發生變化后,根據當前所在的階段選擇入口。

    switch (Stage.getInstance().getCurrentStage()) {case Stage.OPENING_STAGE:// .......Stage.getInstance().entering(Stage.FETCHED_STAGE);performGlobalAction(GLOBAL_ACTION_BACK);break;case Stage.OPENED_STAGE:Stage.getInstance().entering(Stage.FETCHED_STAGE);performGlobalAction(GLOBAL_ACTION_BACK);break;case Stage.FETCHED_STAGE:if (nodesToFetch.size() > 0) {AccessibilityNodeInfo node = nodesToFetch.remove(nodesToFetch.size() -

    總結

    以上是生活随笔為你收集整理的微信抢红包插件 English Version的全部內容,希望文章能夠幫你解決所遇到的問題。

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