2012-06-20 35 views
1

我想在我公司的兩個Android應用程序之間發送任意字符串(不是路徑或URL),但Intent數據是一個URI。目前我很關心啓動一個Activity,但是在某些情況下,如果能夠發送查詢並接收響應而不啓動Activity,那將會很好。所以:如何通過意圖發送任意字符串?

  • 當Intent想要一個URI時,我應該如何發送任意字符串?
  • 我可以使用哪些其他通訊機制?

回答

2

您可以通過在意圖上使用附加內容將任意字符串添加到意圖。

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.putExtra(SOME_STATIC_NAME_VALUE, "your_arbitrary_string"); 

有額外的許多選項,看到http://developer.android.com/reference/android/content/Intent.html

要在接收活動檢索字符串,請使用

intent.getExtras().getString(SOME_STATIC_NAME_VALUE) 

或爲任何值你額外的設置適當的獲取。

7

對於Intent intent = new Intent();,您可以使用intent.putExtra(String name, String value);來存儲Stringvalue被鎖定到name。在您的被叫活動中,使用intent.getStringExtra(name);來檢索該值。

+2

'Intent'沒有'getExtra(...)'方法。你的答案應該是使用'getStringExtra(name)' – Squonk

+0

感謝你的支持。有點匆忙,但這幾乎沒有任何藉口給出一個不正確的方法名稱。 –

+0

沒問題。對於Intent的方法名,我總是必須考慮三次,因爲它爲每個可以接受的類型提供了多個'putExtra(...)'方法,但每個'get ...'方法都是特定於數據類型的 - 稍微令人困惑的是要記住它的工作方式。除此之外,你的回答是合理的。 – Squonk