Android 自动接听微信语音视频电话、抢红包源代码

本文主要是介绍Android 自动接听微信语音视频电话、抢红包源代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里写目录标题

      • 1、创建Service 集成AccessibilityService
      • 2、注册无障碍服务
      • 3、注册 auto_control_service_config配置文件
      • 4、调用前需要开启无障碍服务

1、创建Service 集成AccessibilityService

Service 的onAccessibilityEvent 中监听系统变化,过滤自己感兴趣的消息事件、没什么好说的,直接开始代码
public class AutoHelperServer extends AccessibilityService {public static final String TAG = "zyb";public static final String wechatPackageName = "com.tencent.mm";private boolean startDelay;private long lastExecTimeStamp;@Overrideprotected void onServiceConnected() {super.onServiceConnected();Log.i(TAG, "====建立服务链接====");}@Overridepublic void onAccessibilityEvent(AccessibilityEvent event) {int eventType = event.getEventType();Log.d(TAG, "eventType: " + eventType + "\t PackageName:" + event.getPackageName());Log.d(TAG, "&& event.getSource(): " + event.getSource());if ((eventType == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED || eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) && event.getSource() != null && event.getPackageName() != null) {CharSequence packageName = event.getPackageName();Log.d(TAG, "packageName=: " + packageName);if (!wechatPackageName.equals(packageName)) {return;}if (this.startDelay && System.currentTimeMillis() - this.lastExecTimeStamp < 300L) {Log.d(TAG, "已经接听了没有比较再接听一次了 : " + packageName);return;}this.lastExecTimeStamp = System.currentTimeMillis();this.startDelay = false;CharSequence className = event.getClassName();if (className != null) {Log.d(TAG, "页面->: " + className);}autoConnectWeChatCall(event);} else if (eventType == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED && event.getPackageName() != null) {Log.d(TAG, "通知栏发生变化了...");Log.d(TAG, "eventType: " + eventType + "\t PackageName:" + event.getPackageName());CharSequence className = event.getClassName();if (className != null) {Log.d(TAG, "页面->: " + className);}if (event.getParcelableData() != null && event.getParcelableData() instanceof Notification) {if ("com.tencent.mm".equals(event.getPackageName())) {Notification notification = (Notification) event.getParcelableData();PendingIntent pendingIntent1 = notification.contentIntent;Log.d(TAG, "pendingIntent..." + pendingIntent1);try {if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {String title = notification.extras.getString(Notification.EXTRA_TITLE);

这篇关于Android 自动接听微信语音视频电话、抢红包源代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/912637

相关文章

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

Redis迷你版微信抢红包实战

《Redis迷你版微信抢红包实战》本文主要介绍了Redis迷你版微信抢红包实战... 目录1 思路分析1.1hCckRX 流程1.2 注意点①拆红包:二倍均值算法②发红包:list③抢红包&记录:hset2 代码实现2.1 拆红包splitRedPacket2.2 发红包sendRedPacket2.3 抢

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动