本文實例為大家分享了Android微信紅包插件,供大家參考,具體內容如下
效果圖:
具體代碼
@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; } }
插件下載: 《分享Android微信紅包插件》
本文已被整理到了《Android微信開發教程匯總》,歡迎大家學習閱讀。
希望本文所述對大家實現微信紅包功能有所幫助,幫助大家更好的學習Android軟件編程。
新聞熱點
疑難解答
圖片精選