2011-01-09 75 views
16

我需要一些幫助,以瞭解如何開始開發兩個彼此通信的android應用程序(在一個電話上)。兩個應用程序之間的android通信

  1. 應用A發送一個字符串,應用程序B.
  2. 應用B接收例如字符串「startClassOne」,採用的方法的應用程序B開始classOne並得到結果。結果發回(同樣字符串!)嚮應用A
  3. 應用程序A在控制檯從B.
  4. 將所接收的字符串
+0

你想建立一個像應用程序的聊天? – 2011-01-09 11:51:27

+0

不,應用程序應該相互通信,應用程序B中的活動應該做振動,改變光線等,如果例如振動開始,應用程序B會發送結果字符串(如「振動成功」)到應用程序A(應用程序a將要做得更多,但對於此示例,我只需要在這兩個應用程序之間進行通信) – androidTesting 2011-01-09 12:17:21

回答

33

您好,我需要在如何啓動開發兩款一些幫助android應用程序(在一個電話上)相互通信。

總體而言,您通常不希望人爲地將一個應用程序分爲兩個,特別是如果您是這兩個應用程序的作者。

話雖這麼說,你可以:

  • 有應用程序B暴露出的IntentService將通過startService()從應用程序A被調用,從createPendingResult()傳遞通過PendingIntent返回結果或Messenger或廣播IntentResultReceiver;或
  • 具有應用B暴露在AIDL定義的API一個Service,並有應用程序A綁定到該服務,則具有應用上應用程序B的呼叫的方法,或
  • 從應用程序A發送一個廣播Intent到應用B ,與第一子彈傳遞結果返回通過選項的相同的名冊上方或
  • 有應用程序B執行的內容提供者,並有應用程序A使用ContentResolver來操縱該內容提供商

由於您公開的API不僅適用於應用程序A,而且適用於設備上的任何應用程序,除非您使用權限來保護它,否則請務必解決您所做的所有安全分歧。

相關問題