2016-02-16 51 views
0

我有兩種意向共享。一個用於簡單通用消息如SMS/Slack等,另一個用於電子郵件。我似乎無法弄清楚的是如何讓我能找到一種方法來解決某人通過選擇器選擇的內容並使用適當的意圖。分享電子郵件意向或通用信息意向

(這將通過按下分享按鈕來完成,所有的發送選項將顯示在選配

任何幫助,這將是真棒。

Intent shareIntent = new Intent(Intent.ACTION_SEND); 
shareIntent.setType("text/plain"); 
Intent chooser = Intent.createChooser(shareIntent,""); 

我的想法解決了選擇器什麼時候被可以看到它是否是電子郵件類型,但似乎也不起作用

回答

0

一旦你發射了一個意圖,控制發生了什麼是你的控制之外。選擇器將不會提供一次回調給你的應用程序用戶選擇一個動作 - 取而代之系統會將您啓動的意向傳遞給選定的應用程序。

正如How to filter specific apps for ACTION_SEND intent (and set a different text for each app)所述,如果您想自定義選擇器,您有幾個選項。您可以:

  • 使用Intent.EXTRA_INITIAL_INTENTS可以顯示除默認選項之外的其他意圖。
  • 創建自己的自定義選擇器,提供了行爲你想

因爲選項的順序可能不是想你想的第一個選項可能不理想。

第二個選項提供了更多的控制,但需要很多工作來維護,特別是如果您想要像聯繫人直接共享的更新的平臺功能。

另一種選擇是更改您的用戶界面以提供單獨的「共享」和「電子郵件」選項,然後爲每個選項使用默認意圖。

相關問題