2012-06-22 99 views
4

我使用下面的代碼來發送郵件在Android中發送電子郵件後發送Toast?

Intent i = new Intent(Intent.ACTION_SEND); 
i.setType("text/plain"); 
i.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); 
i.putExtra(Intent.EXTRA_CC, new String[] { bcc_string }); 
i.putExtra(Intent.EXTRA_SUBJECT, "Video Suggest"); 
i.putExtra(Intent.EXTRA_TEXT, url_link); 

try { 
    startActivityForResult(Intent.createChooser(i, "Send Mail..."), 1); 
} catch (android.content.ActivityNotFoundException ex) { 
    Toast.makeText(AllVideos.this, "There are no email clients installed.", Toast.LENGTH_SHORT) 
    .show(); 
} 

,並在我的活動結果我用下面的代碼

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    // System.out.println("inactivity"); 
    // Toast.makeText(AllVideos.this, "Mail Send", 10).show(); 

    System.out.println("inside activity result"); 

    if (requestCode == 1) { 
     if (requestCode == 1 && resultCode == RESULT_OK) { 
      Toast.makeText(this, "Mail sent.", Toast.LENGTH_SHORT).show(); 

     } else if (requestCode == 1 && resultCode == RESULT_CANCELED) { 
      Toast.makeText(this, "Mail canceled.", Toast.LENGTH_SHORT) 
        .show(); 
     } else { 
      Toast.makeText(this, "Plz try again.", Toast.LENGTH_SHORT) 
        .show(); 
     } 
    } 
} 

但每次我發送或丟棄這個消息我收到「郵件取消「敬酒。 請幫我把這個。

在此先感謝。

+1

我沒想到onActivityResult一直在發送郵件 – Blundell

+0

您將無法顯示,它不起作用。 –

+0

@Blundell - onActivityResult正在工作,我可以發送郵件,但我只想在發送後顯示敬酒。 – Shrikant

回答

3

link

你不能,這不是API的一部分。它返回一旦你按下 發送按鈕,即使它不發送

ACTION_SEND沒有任何輸出,結果你總是得到RESULT_CANCELED默認值。

此外,您無法使用Intent數據檢查它,因爲它始終爲空 郵件發送或放棄。

+0

我想就是這樣,因爲我盡了全力,每次都得到同樣的祝酒。 – Shrikant

-1

試試這個方法。

if (requestCode == 1) 
    { 
     if (resultCode == RESULT_OK) 
     { 
      Toast.makeText(this, "Mail sent.", Toast.LENGTH_SHORT).show(); 

     } 
     else if (resultCode == RESULT_CANCELED) 
     { 
      Toast.makeText(this, "Mail canceled.", Toast.LENGTH_SHORT) 
        .show(); 
     } 
     else 
     { 
      Toast.makeText(this, "Plz try again.", Toast.LENGTH_SHORT) 
        .show(); 
     } 
    } 
+0

嘗試了你的代碼,但它仍然給我郵件取消吐司。 – Shrikant

+0

我不認爲它指定的任何地方的電子郵件活動和短信活動將返回任何結果,可以追溯..因爲我已經測試,在我的應用程序,當一個短信活動被稱爲...它總是返回零...即使消息被髮送或沒有。 –

+0

這也可能是電子郵件的情況,因爲它總是返回RESULT_CANCELED。由於android不知道郵件是否被髮送,它永遠不會返回RESULT_OK。 – Shrikant