2016-01-23 39 views
1

我想为Android创建一个无障碍功能,只要有人按下或长按一个应用程序图标就会出现提示。要做到,这一点我有几个问题:如何覆盖Android的启动器应用程序的信息?

  1. 当用户点击该 主屏幕或应用程序启动的应用程序图标如何识别?
  2. 如何利用这个事件,然后 拉适当的信息,并提交给用户?

我是否需要开发自定义启动器应用程序才能识别用户按下等?或者我可以以某种方式从用户使用的任何启动器中检索这些信息并给出提示?

回答

2

有几种不同的方式来获得您正在寻找的信息。

第一个选项是按照您的建议创建自定义启动器。这有明显的缺点。最明显的是,不得不重新创建整个启动器应用程序显然是困难的,并且可能会产生比修复更多的问题。你可以搜索一个开源的启动器应用程序,并尝试添加你的功能,但是你会依赖这个代码库的提供者来接受你的功能。

第二,也是我推荐的方式来访问这些信息是通过无障碍服务。此信息可用于“话语提示”等服务。它们的功能至关重要。你在这里面临的困难是与那里可用的众多发射器正确地互动。然而,这些启动器大部分都是基于类似的出发点,这是Android基础开放源码启动器。因此,您需要与之互动的发射器部分应该在大多数启动器示例中非常类似地编码。

此方法的缺点是一次只能在设备上激活一个辅助功能服务。因此,部分失明的用户可能想同时使用您的功能和TalkBack,但无法使用此功能。当然,您需要确定您希望处理哪些困难/好处,但这些都是您的选择。

+0

谢谢!我可以考虑修改一个开源的Android启动器。来自CyanogenMod团队的Trebuchet Launcher似乎是一个不错的选择。但是,如果我要走另一条路线并通过无障碍服务选择做到这一点,那么您能否提供更多关于如何去做的细节?只要指出任何在线教程或示例,都可以帮助我开始朝正确的方向发展。你的解释对我来说理解具体细节有点太高。 –

+1

http://developer.android.com/guide/topics/ui/accessibility/services.html – ChrisCM

相关问题