Android accessibilityserver

  相信大家都见过这么一个界面

这是在辅助功能里面的界面,对于这个界面,相比大家都比较熟悉,这儿就不再解释了,打开这个页面是在设置里面,。。。。。。。。。。。。。。。。。。不如整体。要提供辅助服务,我们需要的是使用Accessibilityserver这个辅助类,

accessibilityserver的功能主要有几个:文字转语音(这个不支持中文),触觉反馈,手势操作,轨迹球和手柄操作;

而我们最常用的是使用accessibilityserver来构建属于自己的辅助服务,比如常用的有威信的抢红包,还有自动回复等,

Accessibility服务可以为所有的应用程,一组应用程序或单个应用程序提供这些增强功能。由于这边没有翻墙,所以就无法给出google的帮助文档。。。抱歉


对于accessibilityserver的使用,一般需要三个东西,第一个自然是一个继承了accessibilityserver的server类,比如:


public class MyAccessserver extends AccessibilityService{

    @Override
protected void onServiceConnected() {
    super.onServiceConnected();

    }
    //接受系统发送的消息
    
    @Override
    public void onAccessibilityEvent(AccessibilityEvent event) {
        
        
    }

    @Override
    public void onInterrupt() {
        
    }

}

//这是最原始的版本

他的主要步骤就是继承AccessibilityServcie服务,实现onAccessibilityEvent方法,配置好相关的内容(一般都是用xml文件来配置),最后在AndroidMainfest声明相关配置

关于配置用的xml文件:

<accessibility-service            xmlns:android="http://schemas.android.com/apk/res/android"     android:accessibilityEventTypes="typeNotificationStateChanged|typeWindowStateChanged"
    android:accessibilityFeedbackType="feedbackGeneric"
    android:accessibilityFlags="flagDefault"
    android:canRetrieveWindowContent="true"
    android:notificationTimeout="100"
    android:packageNames="com.tencent.mm" />

以上是网上截取的用来监听tecent的微信的xml文件,关于各个参数,希望有条件的同学自己去查查,这边就不赘讲了,

然后是mainfest文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.REORDER_TASKS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <uses-sdk
        android:minSdkVersion="19"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

       <service
            android:name=".AutoReplyService"
            android:enabled="true"
            android:exported="true"
            android:label="@string/app_name"
            android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
            <intent-filter>
                <action android:name="android.accessibilityservice.AccessibilityService"/>
            </intent-filter>

            <meta-data
                android:name="android.accessibilityservice"
                android:resource="@xml/auto_reply_service_config"/>
        </service>
    </application>

</manifest>

在mainfest文件里面,主要是配置下 他的server文件,修改下版本号因为要求最低为1.4,基本都是设置1.8

然后再把xml文件设置为他的资源文件

运行项目,再在设置里面的辅助文件勾选下你的应用,就可以使用了,如果想了解更多,可以百度下微信自动回复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值