平凡:电子邮件获取确认在Android中发送电子邮件、平凡、Android

2023-09-12 10:04:56 作者:づ浑浑噩噩の小生活

开始一个电子邮件的意图我怎样才能得到确认的电子邮件已经发送或出现了一个错误回到它是从所谓的活动结束后?

After starting an email intent how can I get confirmation that the email has sent or there has been an error back into the activity it was called from?

        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.setType("png/image");

        String subject = "Email Subject";

        String body = "Message Body"; 

        emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
        emailIntent.putExtra(Intent.EXTRA_TEXT, body);
        emailIntent.putExtra(Intent.EXTRA_STREAM,
                Uri.parse("file:///sdcard/" + IMAGE_FILENAME));

        startActivity(Intent.createChooser(emailIntent, "Send email...")); 

        //Here I need to do something on a successfully sent email

也许开始activityForResult?不过,我应该会回什么结果,如果有的话?

Maybe start activityForResult? But what result should I expect back if any?

推荐答案

试试这个

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();
        }
    }   
}