android - 如何以编程方式启动和停止 AccessibilityService?

标签 android accessibilityservice

背景

我有一个应用程序有一个 AccessibilityService . Android 似乎保持 AccessibilityService它一直在运行,但我只需要运行我的有时。 (具体来说,如果用户打开我的应用并将其关闭,则不再需要 AccessibilityService。)

如果我的AccessibilityService在不需要时运行,它会浪费设备的 RAM 和 CPU,我想尽可能避免对我的用户这样做。

问题

如何以编程方式启动和停止我的 AccessibilityService

请注意,我不是要求以编程方式启用或禁用 AccessibilityService在 Android 的辅助功能设置中;这只是关于在它已启用时启动和停止它。

我试过的(停止 AccessibilityService )

相关问题

最佳答案

取自the Lifecycle section of the AccessibilityService documentation :

The lifecycle of an accessibility service is managed exclusively by the system and follows the established service life cycle. Starting an accessibility service is triggered exclusively by the user explicitly turning the service on in device settings. After the system binds to a service, it calls onServiceConnected(). This method can be overriden by clients that want to perform post binding setup.

An accessibility service stops either when the user turns it off in device settings or when it calls disableSelf() (In Android 7.0 (API 24) and later).

关于android - 如何以编程方式启动和停止 AccessibilityService?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40433449/

相关文章:

android - 在后台运行应用程序时 adb 挂起

android - 在 Android 中登录后获取 facebook 电子邮件

Android:ListView.setScrollIndicators(up, down) 做什么?

java - 通过辅助服务传递数据以查看 – Android

java - AccessibilityNodeInfo in getRoot ActiveWindow : Perform click fails with Rect() not contains X, Y坐标

android - 如何检查无障碍服务是否崩溃(Android Pie 现在在设置中显示此信息)?

java - RecyclerViewAdapter 中的空指针异常

xml - 如何将形状资源(xml)导入代码?

android - 如何在设置中的无障碍服务切换上添加应用程序描述

android - 没有TextView时如何从accessibilityService中读取内容?