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

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。本文测试环境:doov@d80pro,android@11,win10,adb@1.0.32,shizuku@13.5.4,无障碍管理。
删减版的无障碍服务
下面的是基于freemeos的测试机doov@d80pro的“无障碍服务”的截图。显然和大家所认知的“无障碍界面”有着质的区别。

恢复无障碍插件控制
想要恢复真正的无障碍服务,这里就借助一位大神的作品了,插件源码地址:
同时发现,作者同时是shizukurunner的作者...成品下载地址:

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


代码原理
由于这款AccessibilityManager的成品体积非常小,只有“62kb”。所以,它的原理实现也必然十分简单。核心代码:
((AccessibilityManager) getSystemService(Context.ACCESSIBILITY_SERVICE)).getInstalledAccessibilityServiceList();提供无障碍服务的软件
例如“微软桌面”里面就提供了相关的手势服务,这个手势服务就是基于“无障碍”的。在这款“AccessibilityManager”软件中,就可以强制开启相关服务。从而实现微软桌面的相关高级功能。比如:双击屏幕就锁屏。
结语
更多安卓代码经验文章,请参考: