0

実装したい単純なルーチンがありますが、正しい方法で実行しているかどうかわかりません。emailintent を使用して最初のメールを送信し、それに続いて別の emailintent を呼び出して 2 番目のメールを送信します (これは最初のメールとは異なります)。本質的には、2つのメールを連続して送信したいと考えています。

最初のメールで startActivityforResult を試し、そのリクエスト コードで 2 番目の emailintent を呼び出してみましたが、うまくいかないようです (StartActivityforResult を使用して外部にメールを送信すると、Android から結果コードが返されないことはわかっていますが、そうではありません)。最初のメールが成功したかどうかに関係なく、2 番目の emailintent を呼び出す必要があるため、心配です)。

何か案は?

4

2 に答える 2

1

あなたのアプローチはそれを行う正しい方法です。デバイスで動作するサンプル コードを次に示します。

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 1234) {
        Intent sendIntent = new Intent(Intent.ACTION_SEND);
        sendIntent.setType("message/rfc822");
        sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "address2@example.com" });
        // Setup message here
        try {
            getSupportActivity().startActivity(sendIntent);
        } catch (final android.content.ActivityNotFoundException ex) {
            // No email client found
        }
    }
}

public void sendEmail() {
    Intent sendIntent = new Intent(Intent.ACTION_SEND);
    sendIntent.setType("message/rfc822");
    sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "address@example.com" });
    // Setup message here
    try {
        getSupportActivity().startActivityForResult(sendIntent, 1234);
    } catch (final android.content.ActivityNotFoundException ex) {
        // No email client found
    }
}

フラグメントを使用している場合は、onActivityResult がアクティビティにあることを確認するか、onActivityResult をアクティビティからフラグメントにリダイレクトするようにしてください。

于 2013-05-01T20:57:28.207 に答える
0

Javamail API を使用して、2 つの異なるメールを送信できます。これはjavamailでうまくいくと思います。 http://docs.oracle.com/cd/E18930_01/html/821-2418/beaow.html#scrolltoc

(ライブラリをインポートしてインターネット許可を追加することを忘れないでください)

于 2013-04-30T13:12:32.787 に答える