Android 無障礙設(shè)置

[TOC]

image

一、無障礙簡介

無障礙服務(wù)(AccessibilityService)是一套可以模擬操作的系統(tǒng)級別的API。用戶同意我們的應(yīng)用獲取無障礙服務(wù)的權(quán)限之后就可以模擬操作,來控制用戶的手機(jī)。無障礙服務(wù)的好處很多,可以實現(xiàn)一鍵操作,幫助殘障人士使用手機(jī)。

Google官方文檔

二、具體需求

想要實現(xiàn)全局監(jiān)聽藍(lán)牙按鍵消息

三、實現(xiàn)方法

1、添加相應(yīng)服務(wù)

? 在AndroidMainfest.xml中添加相應(yīng)的服務(wù)

        <service
            android:name=".AccessBleKeys"
            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/ble_service_config" />
        </service>

2、為服務(wù)添加配置文件

? 添加一配置文件ble_service_config.xml,其內(nèi)容如下

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
    android:accessibilityEventTypes="typeAllMask"
    android:accessibilityFeedbackType="feedbackGeneric"
    android:accessibilityFlags="flagRequestFilterKeyEvents"
    android:canRetrieveWindowContent="true"
    android:canRequestFilterKeyEvents="true"  
    android:description="@string/app_name"
    android:notificationTimeout="100"/>

3、重寫方法

? 在AccessBleKeys中重寫onKeyEvent方法,在該方法下即可實現(xiàn)對按鍵的監(jiān)聽

    protected boolean onKeyEvent(KeyEvent event) {
        keyUtil.dispatchKeyEvent(event);
        return super.onKeyEvent(event);
    }

4、申請軟件無障礙權(quán)限

因系統(tǒng)中已有root權(quán)限 ,所以直接使用命令搞定

        CommandExecution.execCommand("settings put secure enabled_accessibility_services " + getPackageName() + "/" + AccessBleKeys.class.getName(), true);
        CommandExecution.execCommand("settings  put  secure  accessibility_enabled  1", true);

這樣就可以全局監(jiān)聽按鍵消息了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容