android 自动加微信群,如何完美实现微信自动发朋友圈&自动添加好友&等等

3d08057a1645?utm_source=oschina-app

wechat

背景

要实现微信自动化,大致有这么几种办法

基于Web微信API的框架 如 #

基于xposed 插件开发 ,通过广播方式和sdk 交互,只要发送广播就可以自动发送朋友圈,但是实现难度相对较高,需要逆向知识,还有被封号的风险,不可取。

基于AccessibilityService实现,有一个自动抢红包的功能就是通过他实现的,原本该功能是对那些由于视力、听力或其它身体原因导致不能方便使用Android智能手机的用户,Android提供了Accessibility功能和服务帮助这些用户更加简单地操作设备,包括文字转语音(不支持中文)、触觉反馈、手势操作、轨迹球和手柄操作等,到Android 4.1版本以后,系统辅助服务增加了与窗口元素的双向交互,此时可以通过辅助功能服务操作窗口元素,比如点击按钮、输入文本信息等功能,越来越方便。

这些方法各有利弊,综合看来,第一种实现总会有一天微信说要关闭web服务,那岂不是很惨,第二种风险在于被封号,只有第三种目前看来最合适,想要自动发送朋友圈,AccessibilityService是最完美的实现。知其然知其所以然,我们要想用好AccessibilityService,就要明白其原理,这样能更好的理解每一步操作的含义,少走弯路,避免考虑不周导致成功率不足。

自动化视频效果展示:

在做的过程中,也遇到很多问题,例如经常拿不到

AccessibilityNodeInfo实例,如果拿不到就无法操作当前界面的元素,等于是无法再执行下去了,这里有几个关键点需要注意的,只要注意这几个就可以完美拿到。卖个关子,下面会提到,请往下看。

自动分享小程序给好友(doing)

自动拉好友进群(doing)

自动踢人(doing)

AccessibilityService原理

先大致了解下原理,对你的使用更是事半功倍。

类图源于 here

3d08057a1645?utm_source=oschina-app

AccessibilityService类图

分析下这个类图。

AccessibilityService:最主要的onBind()、onAccessibilityEvent(event: AccessibilityEvent)、onInterrupt()三个函数,后面两个需要子类实现,onBind已经实现了,看下这个函数源码 直接return了一个静态内部类IAccessibilityServiceClientWrapper

public final IBinder onBind(Intent intent) { return

new IAccessibilityServiceClientWrapper(this, getMainLooper(), new Callbacks() {

}

}

IAccessibilityServiceClientWrapper : 用于和system_server通信的匿名Binder服务,

public static class IAccessibilityServiceClientWrapper extends IAccessibilityServiceClient.Stub

implements HandlerCaller.Callback {

该类又继承了IAccessibilityServiceClient.Stub,并实现了HandlerCaller.Callback接口。看到这分析出,这是一个跨进程通信Servi

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值