拆红包robmoney.java,android 模拟微信抢红包 实例源码下载

本文介绍了一个Android应用,使用辅助功能服务监听微信红包通知并自动领取。核心代码展示如何在`RobMoney`类中处理通知栏事件,通过 AccessibilityService 接口触发红包的领取和拆开操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【实例简介】需要 开启该应用的 辅助功能

【实例截图】

74b2d2beebc06729d1afcea3157c9ec4.png

801393da7945ebb97e16c72444ab04d3.png

【核心代码】

package krelve.demo.rob;

import java.util.List;

import android.accessibilityservice.AccessibilityService;

import android.annotation.SuppressLint;

import android.app.Notification;

import android.app.PendingIntent;

import android.app.PendingIntent.CanceledException;

import android.view.accessibility.AccessibilityEvent;

import android.view.accessibility.AccessibilityNodeInfo;

public class RobMoney extends AccessibilityService {

@Override

public void onAccessibilityEvent(AccessibilityEvent event) {

int eventType = event.getEventType();

switch (eventType) {

case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED:// 通知栏事件

List texts = event.getText();

if (!texts.isEmpty()) {

for (CharSequence text : texts) {

String content = text.toString();

if (content.contains("[微信红包]")) {

// 监听到微信红包的notification,打开通知

if (event.getParcelableData() != null

&& event.getParcelableData() instanceof Notification) {

Notification notification = (Notification) event

.getParcelableData();

PendingIntent pendingIntent = notification.contentIntent;

try {

pendingIntent.send();

} catch (CanceledException e) {

e.printStackTrace();

}

}

}

}

}

break;

case AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED:

String className = event.getClassName().toString();

if (className.equals("com.tencent.mm.ui.LauncherUI")) {

getPacket();// 领取红包

} else if (className

.equals("com.tencent.mm.plugin.luckymoney.ui.LuckyMoneyReceiveUI")) {

openPacket();// 打开红包

}

break;

}

}

@SuppressLint("NewApi")

private void openPacket() {

AccessibilityNodeInfo nodeInfo = getRootInActiveWindow();

if (nodeInfo != null) {

List list = nodeInfo

.findAccessibilityNodeInfosByText("拆红包");

for (AccessibilityNodeInfo n : list) {

n.performAction(AccessibilityNodeInfo.ACTION_CLICK);

}

}

}

@SuppressLint("NewApi")

private void getPacket() {

AccessibilityNodeInfo rootNode = getRootInActiveWindow();

if (rootNode != null) {

List nodeInfos = rootNode

.findAccessibilityNodeInfosByText("领取红包");

for (AccessibilityNodeInfo nodeInfo : nodeInfos) {

nodeInfo.performAction(AccessibilityNodeInfo.ACTION_CLICK);

}

}

}

@Override

public void onInterrupt() {

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值