2011-09-19 70 views
1
Intent emailSend = new Intent(android.content.Intent.ACTION_SEND); 
     emailSend.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
     emailSend.putExtra(android.content.Intent.EXTRA_SUBJECT, "Item Best Seller"); 


     emailSend.putExtra(android.content.Intent.EXTRA_TEXT, map1.toString()); 
     emailSend.setType("text/plain"); 

     //startActivity(Intent.createChooser(emailSend, "Send Email...")); 

     setResult(RESULT_OK, emailSend); 
     finish(); 
     break; 

點擊發送郵件按鈕後,它應該去電子郵件服務。但它立即回到第一個活動。我怎樣才能使它成爲郵件服務,點擊「發送」後又回到第一個活動,還有Toast說「已發送電子郵件」startActivityForResult();

回答

4

首先,從startActivityForResult方法中刪除註釋。請記住:啓動活動異步工作,所以在使用startActivityForResult之後,將執行setResultfinish

然後您需要執行onActivityResult方法,並將setResultfinish移動到那裏。 onActivityResult將在電子郵件發送時被調用,因此它會讓您回到主要活動。

+0

它可能是一個愚蠢的問題,在onActivityResult方法中寫什麼,因爲我不知道如何引用我的emailSend intent。 – Toni

+0

我不明白你的問題......實際上,我沒有看到'?'標記:P – Cristian

+0

好吧,我知道了:)謝謝 – Toni