与来自不同应用程序的服务通信

时间:2014-07-15 09:30:26

标签: android messenger

我有一些连接到网络服务的应用程序,以便调用一些消息。由于计划改变与此网络服务的通信,我正在考虑实施一项处理与网络服务通信的服务,应用程序只会向此服务发送意图或消息。我的想法是让这个服务独立,在启动后启动,所以它需要启动服务。它将连接到网络服务并等待来自应用程序的命令。到目前为止,我发现Messenger最接近我的需要,但我认为它只能作为绑定服务。

我的情况是否已经可以使用? 如果没有,那么我是否正确我需要:

  • 实施已启动的服务
  • 使用HandlerThread来处理输入消息 - 我首选的方法是使用意图,但到目前为止我不知道该怎么做

1 个答案:

答案 0 :(得分:0)

正如pskink指出的,要走的路是使用Messenger。 我使用com.example.android.apis.app.MessengerService(来自Android SDK示例)作为此类服务的示例。 当第一个客户端尝试绑定到服务时,服务在接收ACTION_BOOT_COMPLETED和(在我的Android 4.2设备上)时启动,服务的onCreate和onBind被调用。通过发送Message对象进行通信,我已经定义了列出支持消息的枚举(所以我没有直接使用AIDL)。