【发布时间】:2012-04-30 22:39:53
【问题描述】:
我正在研究将人机对话开源系统 JVoiceXML 从 Java 移植到 Android。该系统基于 VoiceXML 2.0 标准,该标准使用 XML 文档来创建人机交互。
这个想法是为 Android 提供一种方法来创建应用程序,这些应用程序使用 TTS 和 SpeechRecognizer android 引擎通过语音与用户交互。
我们试图在屏幕上不产生任何视觉效果的情况下这样做,就像系统服务可以工作一样。目前,我尝试将我们的系统实现为服务,但我遇到了线程问题,并且 Android 会终止我的服务。
问题是,您认为哪种方法最适合我的项目,AsyncTask、服务、Loader?也许是启动 AsyncTask 或 Loader 的服务?
要求是:
- 我的 VoiceXML Interpreter 被应用 Intent 启动(Intent 过滤器就是我现在拥有的方式)
- 它从应用程序接收文档。该应用程序还可以停止我的解释器,或者至少停止对该文档的解释。
- 口译员与 TTS 交互并创建语音识别器引擎。
- 解释器本身是一个 java 线程,必须从服务、加载程序或 asyncTask 启动。
- 只有一个应用可以使用我的解释器(无需并行连接)
如果需要更多信息来理解问题,请告诉我。
提前致谢,
马科斯。
【问题讨论】:
标签: android multithreading service android-asynctask loader