0

メールを送信していますが、ユーザーがメール コンポーザーから戻ってきたときに別のアクティビティに移動する必要があります。これを達成するにはどうすればよいですか?

ここに私のコード、//メールを送信

String prestartTypeString = prestartType;
String to = "juanman234@gmail.com";
String subject = "Pre-Start - "+prestartTypeString;
String message = fullName+" has sent you a Pre-Start checklist for equipment "
                  +registrationNumber+".\n" + "Please find PDF report attached.
    \n\nNeed help viewing this report\nEmail us anytime at\nhello@tiks.com.au";

Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to});

email.putExtra(Intent.EXTRA_SUBJECT, subject);
email.putExtra(Intent.EXTRA_TEXT, message);

//attachment
Uri uri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),
                                                              "generato.pdf"));
email.putExtra(Intent.EXTRA_STREAM, uri);

//need this to prompts email client only
email.setType("message/rfc822");

startActivity(Intent.createChooser(email, "Choose an Email client :"));

setResult(RESULT_OK, email);

確認しました

startActivityForResult();

しかし、これがそれを行う方法であるかどうかは明確ではなく、機能させていません

では、ユーザーがメール インテントから戻ったときに関数をトリガーする方法は?

ありがとう

4

1 に答える 1

1

startActivityForResult(); でアクティビティを開始します。次のメソッドをオーバーライドします

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
            //place your code here what you want to do when result is returned, in your  case go to different activity
}

このメソッドは、呼び出されたアクティビティが結果を返すときに呼び出されます

于 2013-05-14T09:04:14.317 に答える