无障碍服务和后台服务有什么区别?我应该在什么时候使用对方?
发布于 2013-05-23 01:44:15
这两个服务完全不同的目的:
后台服务-除非您另有指定,否则您在应用程序中执行的大多数操作都是在前台称为UI线程的特殊线程上运行的。这可能会导致问题,因为长时间运行的操作会干扰用户界面的响应性。这会惹恼用户,甚至会导致系统错误。Androind框架允许您在后台线程中运行这些类型的操作。
Accessibility -许多安卓用户有不同的能力,需要他们以不同的方式与安卓设备交互。这些用户包括视觉、身体或年龄相关的限制,使他们无法完全看到或使用触摸屏,以及听力受损的用户,他们可能无法感知音频信息和警报。
辅助功能服务在后台运行,并在触发AccessibilityEvents时接收系统的回调。这样的事件表示用户界面中的某些状态转换,例如焦点改变、按钮被点击等。这样的服务可以可选地请求用于查询活动窗口的内容的能力。开发可访问性服务需要扩展该类并实现其抽象方法。
如果您认为用户需要您的应用程序的特殊帮助,请使用可访问性。对长时间运行的任务使用后台,以保持用户界面的快捷性。
发布于 2021-02-28 17:08:02
后台服务允许在UI不存在时执行(例如,当应用程序“关闭”时)。它可以通过向用户显示长期存在的“前台”通知来获得能够长期保持存活的“前台优先级”。“前台/后台”优先级发生在进程级别,而不是线程级别。后台服务不会提高UI响应性,因为它使用的主/UI线程与任何活动一样多。任何其他线程都可以用来解决UI缺乏责任的问题。
可访问性服务是相同的,尽管它接收与用户的交互相对应的特殊类型的事件,并且需要用户通过设置手动设置(它不能以编程方式激活)。它不需要前台通知。
https://stackoverflow.com/questions/16698014
复制相似问题