簡體   English   中英

如何在Android中的兩個應用程序之間進行通信?

[英]How to communicate between two applications in Android?

我正在開發鍵盤,因此正在實現InputMethodService 我需要向此鍵盤應用程序添加其他功能,但要將其與另一個應用程序分開,以使鍵盤保留為單獨的鍵盤實現。

因此,我需要創建一個鍵盤應用程序以及另一個具有所有其他功能的應用程序(其他功能包括但不限於:新聞活動,Messenger,鎖屏實現和一些小部件)。

這兩個應用程序之間需要進行通信,根據我的研究,我發現可以使用幾種機制:

  1. 有限服務
  2. URI實施
  3. BroadcastReceivers

我的問題是:最能滿足我的需求的是什么? 我的需求是將數據從一個應用程序傳遞到另一個應用程序,以及從另一個應用程序中的一個應用程序開始活動和其他組件。

在對該主題進行了一些研究之后,我發現有幾種方法可以執行此操作:

  1. 使用使用Messenger對象在本地進程和遠程綁定服務之間傳遞消息的綁定服務,或使用AIDL創建將從遠程綁定服務傳遞到本地進程的接口,以便它們可以通信。

  2. 第二種選擇是使用老式的BroadcastReceivers 這樣一來,就有可能從本地進程向遠程進程觸發一個Intent,並在那里接收一些信息。

兩者使用的不同取決於您希望兩個進程之間的連接牢固程度以及它們應該多久進行一次通信。 如果他們需要偶爾進行一次操作,那么BroadcastReceivers將是一個很好的解決方案。 但是,如果您需要更一致的連接,則必須使用“綁定服務”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM