Android 质疑

Android 质疑,android,multithreading,service,android-asynctask,loader,Android,Multithreading,Service,Android Asynctask,Loader,我正在研究人机对话开源系统JVoiceXML从Java到Android的可移植性。该系统基于VoiceXML2.0标准,该标准使用XML文档创建人与机器之间的交互 其想法是为Android提供一种方法,使用TTS和SpeechRecognitor Android引擎创建通过语音与用户交互的应用程序 我们试图做到这一点,而不会在屏幕上产生任何视觉效果,就像系统服务一样。目前,我已经尝试将我们的系统作为一个服务来实现,但我遇到了线程和安卓终止我的服务的问题 问题是,您认为哪种方法最适合我的项目、异步

我正在研究人机对话开源系统JVoiceXML从Java到Android的可移植性。该系统基于VoiceXML2.0标准,该标准使用XML文档创建人与机器之间的交互

其想法是为Android提供一种方法,使用TTS和SpeechRecognitor Android引擎创建通过语音与用户交互的应用程序

我们试图做到这一点,而不会在屏幕上产生任何视觉效果,就像系统服务一样。目前,我已经尝试将我们的系统作为一个服务来实现,但我遇到了线程和安卓终止我的服务的问题

问题是,您认为哪种方法最适合我的项目、异步任务、服务和加载程序?可能是启动异步任务或加载程序的服务

这些要求将是:

  • 我的VoiceXML解释器被应用程序意图激发(我现在使用的是意图过滤器)
  • 它从应用程序接收文档。此外,该应用程序还可以停止我的解释器,或者至少停止对该文档的解释
  • 口译员与TTS交互并创建语音识别器引擎
  • 解释器本身是一个java线程,必须从服务、加载程序或异步任务启动
  • 只有一个应用程序可以使用我的解释器(不需要并行连接)
  • 请让我知道,如果需要更多的信息来理解这个问题

    提前感谢,


    Marcos.

    如果您的大部分工作已经在另一个线程中完成,我认为不需要异步任务。只需使用您服务的口译员即可。如果您想提供没有用户界面的服务,那么无论怎样,您都需要一项服务。

    非常感谢您的回答。我正在使用一个服务,但是它被ANR杀死了,因为口译员花的时间太长了…我将用一个更具体的问题来回答另一个问题。谢谢