Android 微信红包插件

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

自动抢微信红包,安卓红包插件:下载

源码截图



@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
    private void handleWindowChange(AccessibilityNodeInfo nodeInfo) {
        switch (Stage.getInstance().getCurrentStage()) {
            case Stage.OPENING_STAGE:
                // 调试信息,打印TTL
                // Log.d("TTL", String.valueOf(ttl));

                /* 如果打开红包失败且还没到达最大尝试次数,重试 */
                if (openHongbao(nodeInfo) == -1 && ttl < MAX_TTL) return;

                ttl = 0;
                Stage.getInstance().entering(Stage.FETCHED_STAGE);
                performMyGlobalAction(GLOBAL_ACTION_BACK);
                if (nodesToFetch.size() == 0) handleWindowChange(nodeInfo);
                break;
            case Stage.OPENED_STAGE:
                ListsuccessNodes = nodeInfo.findAccessibilityNodeInfosByText("红包详情");
                if (successNodes.isEmpty() && ttl < MAX_TTL) {
                    ttl += 1;
                    return;
                }
                ttl = 0;
                Stage.getInstance().entering(Stage.FETCHED_STAGE);
                performMyGlobalAction(GLOBAL_ACTION_BACK);
                break;
            case Stage.FETCHED_STAGE:
                /* 先消灭待抢红包队列中的红包 */
                if (nodesToFetch.size() > 0) {
                    /* 从最下面的红包开始戳 */
                    AccessibilityNodeInfo node = nodesToFetch.remove(nodesToFetch.size() - 1);
                    if (node.getParent() != null) {
                        String id = getHongbaoHash(node);

                        if (id == null) return;

                        fetchedIdentifiers.add(id);

                        // 调试信息,在每次打开红包后打印出已经获取的红包
                        // Log.d("fetched", Arrays.toString(fetchedIdentifiers.toArray()));

                        Stage.getInstance().entering(Stage.OPENING_STAGE);
                        node.getParent().performAction(AccessibilityNodeInfo.ACTION_CLICK);
                    }
                    return;
                }

                Stage.getInstance().entering(Stage.FETCHING_STAGE);
                fetchHongbao(nodeInfo);
                Stage.getInstance().entering(Stage.FETCHED_STAGE);
                break;
        }
    }