2012-10-22 38 views
2

我正在開發一個電子郵件共享的應用程序。我使用啓動意圖的代碼是標準的Android即:作爲對話框的電子郵件意向

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, title); 
emailIntent.setType("application/octet-stream"); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Hello"); 

context.startActivity(emailIntent); 

的事情是,這將啓動Gmail應用程序中,我不想要一個全屏。我可以使它成爲類似於iOS下面的對話框的對話框嗎?如果沒有,它是否已經寫好,還是我需要自己寫。

enter image description here

感謝

+0

據我所知,答案是:沒有。您無法更改外部意圖的解釋方式。 – WarrenFaith

回答

1

你跟ACTION_SEND不能。通過發送這個意圖,你告訴系統啓動Gmail本身。您可以在Intent中傳遞「extras」來填充一些有用的數據。這是一個功能,因爲您允許用戶在可處理ACTION_SEND的應用中進行選擇,而不是強制他們使用Gmail。

如果你想要一個對話框,你必須先自己寫,然後將你收集的值傳遞給用戶選擇的電子郵件程序。

+0

這是我懷疑的,謝謝你的確認。在這種情況下,您將如何將數據從定製意圖傳遞到電子郵件客戶端。你不需要再次使用ACTION_SEND,產生相同的圓圈嗎? –

0

通過發射意圖,你開始另一個應用程序。沒有郵件程序(afair)支持任何類型的嵌入,所以你需要自己寫圖片活動,然後,一旦用戶結束打字抓取有什麼,並做ACTION_SEND。但是,我建議不要這樣做,除非您的用戶開始抱怨(我認爲這不會發生)。

相關問題