2011-05-12 7 views
3

아래 코드를 사용하여 전자 메일 주소로 전자 메일을 보낼 수 있습니다. 보내기 버튼을 클릭하면 Message send ... (메시지 보내기 ...)라는 토스트 메시지가 표시되지만 코드에는 표시되지 않습니다. 기본값이어야합니다. 내 문제는 이것이 메시지가 보내지지만 그것이 보내 졌다는 것을 전혀 말하지 않는다는 것이다. 도착했는지 확인할 수는 없지만 보낸다는 메시지가 있어야합니다. 전송되지 않았지만 사용자가이 사실을 모르는 경우 오류가 표시되기를 바랍니다.Android 전자 메일 보내기 확인

Intent i = new Intent(Intent.ACTION_SEND); 
     i.setType("text/plain"); 
     i.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"}); 
     i.putExtra(Intent.EXTRA_SUBJECT, "subject of email"); 
     i.putExtra(Intent.EXTRA_TEXT , "body of email"); 
     try { 
      startActivity(Intent.createChooser(i, "Send mail...")); 
     } catch (android.content.ActivityNotFoundException ex) { 
      Toast.makeText(About.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show(); 
     } 

감사

답변

0

이 작업은 수행 할 수 없습니다. 모든 응용 프로그램이 의도에 응답 할 수 있으므로 결과 코드 나 결과 의도가 보장되지 않습니다.

참조 :

Get Mail Sent Notification in onActivityResult "Android"

참조 : ICS에

Trivial: Get confirmation of email sent in android

내 자신의 개인적인 테스트에 관계없이 사용자가 다시 누르면 여부의의 resultCode 0을 반환 모두 전자 메일 클라이언트를 보이고있다 또는 보내다.

0

이 시도 :

protected void onActivityResult(int requestCode, int resultCode, Intent data) 

{ 

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


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


     } 
     else 
     { 
      Toast.makeText(this, "Plz try again.", Toast.LENGTH_SHORT).show(); 

     } 

    } 
}