onActivityResult メソッドで、人がメールを送信したか、戻るボタンを押したか、破棄したかを検出したいと考えています。どうすれば同じことができますか。
こんな感じでやってます
String[] reciepients = result.toArray(new String[result.size()]);
Intent email = new Intent(android.content.Intent.ACTION_SEND);
email.putExtra(android.content.Intent.EXTRA_EMAIL,reciepients);
email.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
email.putExtra(android.content.Intent.EXTRA_TEXT, emailMessage);
email.setType("text/plain");
email.setType("message/rfc822");
Intent intent = Intent.createChooser(email, "Choose Email Client");
//context.start(Intent.createChooser(email, "Choose Email.."));
((Activity)context).startActivityForResult(intent, FinalVariables.SEND_EMAIL);
onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case FinalVariables.SEND_EMAIL:
if(resultCode==Activity.RESULT_CANCELED){
showToast("Cancelled");
}
else if(resultCode==Activity.RESULT_OK){
showToast("Success");
}
break;
default:
break;
}
}
しかし、この方法では常にキャンセルされます。これは、電子メール クライアントが RESULT を RESULT_OK として設定しないためです。
では、どうすれば私の要件を満たすことができますか。提案してください。
ありがとう