【问题标题】:AccessibilityService gets unbinded when powered off and is not rebinded after rebootAccessibilityService 关机时解除绑定,重启后不重新绑定
【发布时间】:2016-09-15 07:56:02
【问题描述】:

我遇到了AccessibilityService 的问题。当我关闭设备时,AccessibilityService 通过调用 onUnbind 解除绑定。但是当我再次启动我的设备时,AccessibilityService 没有重新绑定,onRebind 服务也没有被调用。我使用 adb 命令adb shell dumpsys activity service .MyPackage.AccessibilityService 进行了检查,发现我的服务还活着,但没有收到AccessibilityEvent,因为服务没有反弹。在我停止并从设置中重新启动我的 AccessibilityService 后,一切都开始正常工作。我该如何解决这个问题..?我想在onUnbind 上使用disableself,因为它会强制用户从设置中启动服务,但是这个调用可以从API 24 获得。那么,我该怎么办..?

【问题讨论】:

  • 这个问题出现在多少台设备上?
  • 我只在 2 台设备上测试了我的应用程序,一个是 Jellybean,它会产生问题,另一个是 KitKat,它大部分时间都可以正常工作。

标签: android accessibility accessibilityservice accessibility-api android-accessibility


【解决方案1】:

我已经搜索了很多,并尝试了几乎所有可以完成的事情。最后我得出一个结论,这是一个 android 错误,因为API 19 或更高版本不会出现此问题。对于遇到此问题的其他开发人员,我建议您使用偏好来存储您的服务状态是否为rebinded。现在,在您尝试使用您的服务之前,请检查您的服务是否已重新绑定。如果没有,请告诉用户他/她必须重新启动服务才能使用它。

我提供了更详细的答案here。如果您仍然感到困惑,请查看此内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 2013-10-14
    • 2013-03-10
    • 1970-01-01
    • 2022-07-30
    • 2012-05-21
    相关资源
    最近更新 更多