Android "外挂" 基础——Accessibility系列之AccessibilityService

本文介绍了Android的AccessibilityService,它是用于辅助功能的后台服务,开发者可以利用它来实现一些特殊功能,如抢红包或控制其他APP。文章详细讲解了如何创建和配置AccessibilityService,包括核心方法onAccessibilityEvent的使用,获取和操作UI元素,以及服务的生命周期。同时提到了通过UIAutomatorViewer获取APP控件详情的方法,并强调了服务的开启和关闭只能由用户在设置中完成。

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

谷歌做AccessibilitySerivice辅助工具,为的是给操作不便的人提供方便,而广大开发拿它干嘛了?抢微信红包,操作别的APP,做外挂。

刀是把好刀,可惜没用来干好事。我只是想看看刀,也不知道是切菜还是砍人。废话不说,开讲。

AccessibilityService 是个抽象类,继承自service,口说无凭源码为证:

java.lang.Object
   ↳ 	android.content.Context
  	   ↳ 	android.content.ContextWrapper
  	  	   ↳ 	android.app.Service
  	  	  	   ↳ 	android.accessibilityservice.AccessibilityService

谷歌对这个类的解释是:

An accessibility service runs in the background and receives callbacks by the system when AccessibilityEvents are fired. Such events denote some state transition in the user interface, for example, the focus has changed, a button has been clicked, etc. Such a service can optionally request the capability for querying the content of the active window. Development of an accessibility service require

翻译过来是:一个辅助服务在后台运行,并在系统重启时辅助激发事件接收回调。这样的事件表示在用户界面中的一些状态转移,例如,焦点已改变,一个按钮被点击等这样的服务可以选择请求的能力,用于查询活动窗口的内容。辅助功能服务的发展需要扩展此类和实现它的抽象方法。(抄来的翻译)

如果要做一个自己的服务类,那就集成AccessibilityService,并实现它的两个方法

1. 创建服务类

public class MyAccessibility extends AccessibilityService{

	@Override
	public void onAccessibilityEvent(AccessibilityEvent event) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void onInterrupt() {
		// TODO Auto-generated method stub
		
	}

}

上面代码中两个方法在父类是抽象的,必须写。此外Accessibilityservice中还有几个常用的方法:




 
  
  
详细请看文档, 点击打开链接

2. 声明、配置服务类

像其他Service服务一样,需要在AndroidManifest.xml中声明.除此之外,该服务还必须配置以下两项:

    配置<intent-filter>,其name为固定的android.accessibilityservice.AccessibilityService
    声明BIND_ACCESSIBILITY_SERVICE权限,以便系统能够绑定该服务(4.1版本后要求)

注意:任何一点配置错误,系统都检测不到该服务,因此其固定配置如下:

       <service
          &nbs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值