当前位置:主页 > 移动开发 > Android代码 >

分享Android微信红包插件

时间:2021-01-27 10:40:36 | 栏目:Android代码 | 点击:

本文实例为大家分享了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软件编程。

您可能感兴趣的文章:

相关文章