我想为Android创建一个可访问性功能,每当有人在应用程序图标上按下或长按时,该提示就会出现。为此,我有几个问题:
如何识别用户何时单击应用程序图标
主屏幕或应用启动器?
届时如何利用此事件
提取适当的信息并呈现给用户?
我是否需要开发自定义启动器应用程序才能识别用户的按动等?还是可以以某种方式从用户使用的任何启动器中检索此信息并给出提示?
最佳答案
有两种不同的方式来获取所需的信息。
第一个选项是按照您的建议创建自定义启动器。这具有明显的缺点。最明显的是,必须重新创建整个启动器应用程序很困难,并且可能会产生比修复更多的问题。您可以搜索一个开源启动器应用程序,然后尝试向其中添加功能,但是您将依赖于此代码库的提供者来接受您的功能。
第二种,也是我建议的访问此信息的方法是通过辅助功能服务。此信息可用于“话语提示”之类的服务。它们的功能至关重要。您将在这里遇到的困难是如何与众多可用的启动器正确交互。但是,大多数这些启动器都基于类似的起点,即Android基本的开源启动器。因此,在大多数启动器示例中,您希望与之交互的启动器部分的编码应非常相似。
这种方法的缺点是一次只能在一个设备上激活一个可访问性服务。因此,部分失明的用户可能希望同时使用您的功能和“话语提示”。当然,您要确定要解决的困难/收益集,但这是您的选择。