我正在开发一个键盘,所以我正在实现一个InputMethodService
。我需要为此键盘应用程序添加其他功能,但要将其作为另一个应用程序分开,以便将键盘作为单独的键盘实现。
所以我需要创建一个键盘应用程序和另一个具有所有其他功能的应用程序(其他功能包括但不限于:新闻活动,Messenger,锁屏实现和一些小部件)。
这两个应用程序需要在它们之间进行通信,从我的研究中我发现有几种机制我可以使用:
我的问题是:对我的需求最好的实现是什么?我的需求是将数据从一个应用程序传递到另一个应用程序,以及从另一个应用程序中启动活动和其他组件。
答案 0 :(得分:1)
在我对这个主题做了一些研究之后,我发现有几种方法可以做这个操作:
使用绑定服务,使用Messenger
对象在本地进程和远程绑定服务之间传递消息,或使用AIDL
创建将从远程绑定传递的接口为本地流程提供服务,以便他们进行沟通。
第二个选项是使用旧时尚BroadcastReceivers
。这样一来,就可以从本地进程向远程进程发出一个Intent,并收到一些信息。
两者的使用的不同之处取决于您希望两个进程之间的连接有多强,以及它们应该多久进行一次通信。如果他们需要偶尔做一次操作,BroadcastReceivers
将是一个非常好的解决方案。但是如果你需要一个更一致的连接,那么Bounded Service就是你的选择。