【发布时间】:2019-06-02 22:14:43
【问题描述】:
我们所说的设备是带有外部 USB 键盘的 Android 8 主机。
好吧,我需要为这个键盘的功能键分配一些任务,例如启动某些应用程序。比如,F4 可以启动媒体播放器,F5 可以启动导航应用等等。 Automate 或 AutoInput Tasker 插件都可以用于此目的,但所有此类应用程序都使用 accessibility service 与物理交互隐藏设备。
这里的大问题是,这个特定的 Android 设备会在(热)重启时定期终止辅助功能服务。从禁用省电模式到将 Automate 等标记为 设备管理应用程序,一切都尝试了, 没有任何帮助。所以我已经辞职了,现在我正在考虑另一种方法,以便在系统因未知原因重新启动后禁用相应的无障碍服务后重新启用它。
如果设备已植根,我想有一种简单的方法可以通过 shell 命令或其他方式重新启动无障碍服务(只是猜测,我是 Android 的初学者)。但显然我想尽可能避免生根。理想的情况是在每次重新启动时(自动)启动一个 shell 命令/应用程序/前台服务/任何东西——这将具有足够的管理权限来重新启用系统在重新启动期间刚刚禁用的可访问性服务。当然,所有这些东西都不需要生根设备。但我不确定这是否可以在 Android 上完成(在 Windows 上,在系统帐户中运行的服务就足够了,但 Android 是另一回事)。
一个公平的解决方案可能是
- root 设备,
- 安装用于在每次重启后重启无障碍服务的 shell 命令(应用程序、前台服务等)并
- 取消设备根目录(以 SuperSU 为例)以保护用户并且不使保修失效。
有人能告诉我上述解决方案是否可以达到预期的效果吗?如果可以的话,我可以提供一些指导方针吗?
【问题讨论】:
标签: android keyboard-shortcuts accessibilityservice