1

我正在开发一个键盘,所以我正在实现一个InputMethodService. 我需要向此键盘应用程序添加其他功能,但将其作为另一个应用程序分离,以便将键盘作为单独的键盘实现。

所以我需要创建一个键盘应用程序和另一个具有所有其他功能的应用程序(其他功能包括但不限于:新闻活动、信使、锁屏实现和一些小部件)。

这两个应用程序需要在它们之间进行通信,根据我的研究,我发现可以使用几种机制:

  1. 有界服务
  2. URI 实现
  3. 广播接收器

我的问题是:什么是满足我需求的最佳实施方式?我的需求是将数据从一个应用程序传递到另一个应用程序,以及从另一个应用程序的一个应用程序启动活动和其他组件。

4

1 回答 1

1

在我对该主题进行了一些研究后,我发现有几种方法可以执行此操作:

  1. 使用有界服务,它使用一个Messenger对象在本地进程和远程有界服务之间传递消息,或者使用AIDL创建一个接口,该接口将从远程有界服务传递到本地进程,以便它们可以通信。

  2. 第二种选择是使用良好的旧时尚BroadcastReceivers。这样一来,就可以从本地进程向远程进程触发 Intent 并在那里接收一些信息。

这两者的使用差异取决于您希望两个进程之间的连接有多强以及它们应该多久进行一次通信。如果他们需要不时进行一项操作,那BroadcastReceivers将是一个非常好的解决方案。但是,如果您需要更一致的连接,有界服务是您的最佳选择。

于 2014-09-23T10:57:47.010 回答