自动化零件商城(www.rssme.com)专业PLC,变频器,直线模组,触摸屏,控制器,传感器等自动化商品网上购物商城,为广大中小工业企业提供优质、低价格和种类齐全的自动化零件。
文章目录

自定义的AccessibilityService默认是关闭的,需要在无障碍界面手动打开或者自动启动。

目前有两种方式可以自动启动改服务。需要修改源码或配置应用为系统应用。

1、源码中修改

frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java

在loadSecureSettings函数中添加如下代码:

loadSetting(stmt, Settings.Secure.ACCESSIBILITY_ENABLED, 1);

loadSetting(stmt, Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES,"你定义的服务");


你定义的服务”填写的格式:com.125la.main/com.125la.service.MyAccessibilityService

2、系统应用并在系统中编译

在AndroidManiferst.xml中声明权限需求

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />


在APP启动入口处添加:

Settings.Secure.putString(getContentResolver(),
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES,"你定义的服务");
Settings.Secure.putInt(getContentResolver(),Settings.Secure.ACCESSIBILITY_ENABLED, 1);

3、总结:

我试过两个方法,第二个方法出现些小问题,比如第一次烧录系统后和恢复出厂设置后出现无法监听,其他情况下是可以的。

参考文章:

1、《AccessibilityService自启动

相关文章

自动化零件商城(www.rssme.com)专业PLC,变频器,直线模组,触摸屏,控制器,传感器等自动化商品网上购物商城,为广大中小工业企业提供优质、低价格和种类齐全的自动化零件。

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

none
暂无评论...