我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

在寻找任务管理器相关的可替代方案的时候,偶然发现freemeos这个爆改版的安卓系统里面,"无障碍服务"这个设置和其它安卓机的“无障碍服务”设置有很大的区别,里面并没有开启和关闭特定软件的无障碍服务的功能。这样的话,大量依靠打开“无障碍服务”才能使用的软件功能就都歇菜了。这该怎么处理呢?

苏南大叔:安卓机没有无障碍服务设置,无法开启相关插件怎么办? - 开启无障碍服务
安卓机没有无障碍服务设置,无法开启相关插件怎么办?(图5-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。本文测试环境:doov@d80proandroid@11win10adb@1.0.32shizuku@13.5.4无障碍管理

删减版的无障碍服务

下面的是基于freemeos的测试机doov@d80pro的“无障碍服务”的截图。显然和大家所认知的“无障碍界面”有着质的区别。

苏南大叔:安卓机没有无障碍服务设置,无法开启相关插件怎么办? - 无障碍服务删减版
安卓机没有无障碍服务设置,无法开启相关插件怎么办?(图5-2)

恢复无障碍插件控制

想要恢复真正的无障碍服务,这里就借助一位大神的作品了,插件源码地址:

同时发现,作者同时是shizukurunner的作者...

成品下载地址:

苏南大叔:安卓机没有无障碍服务设置,无法开启相关插件怎么办? - 无敌战神
安卓机没有无障碍服务设置,无法开启相关插件怎么办?(图5-3)

使用方式

这款AccessibilityManager的正常使用,需要使用到root权限或者shizuki授权器。参考文章:

苏南大叔:安卓机没有无障碍服务设置,无法开启相关插件怎么办? - 激活服务
安卓机没有无障碍服务设置,无法开启相关插件怎么办?(图5-4)

苏南大叔:安卓机没有无障碍服务设置,无法开启相关插件怎么办? - 无障碍服务管理列表
安卓机没有无障碍服务设置,无法开启相关插件怎么办?(图5-5)

代码原理

由于这款AccessibilityManager的成品体积非常小,只有“62kb”。所以,它的原理实现也必然十分简单。核心代码:

((AccessibilityManager) getSystemService(Context.ACCESSIBILITY_SERVICE)).getInstalledAccessibilityServiceList();

提供无障碍服务的软件

例如“微软桌面”里面就提供了相关的手势服务,这个手势服务就是基于“无障碍”的。在“”软件中,就可以开启相关服务。从而实现微软桌面的相关高级功能。比如:双击屏幕就锁屏。

结语

更多安卓代码经验文章,请参考:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   android