0

こんにちは、数字のリストがあります。

ArrayList<String> numbers;

これらすべての番号に Intent を使用して一緒にメッセージを送信したいと考えています。複数の人にメールを送信するように、メールでこれを行いました。メッセージの方法は?

public static void send(Context ctx, String[] addy, String subject,
        String body,File attachment) {
    try {
        Intent sendIntent = new Intent(Intent.ACTION_VIEW);
        sendIntent.setType("vnd.android-dir/mms-sms");
        sendIntent.putExtra(android.content.Intent.EXTRA_PHONE_NUMBER,
                addy);
        sendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
        sendIntent.putExtra(android.content.Intent.EXTRA_TEXT, body);
        //sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(attachment));
        ctx.startActivity(Intent.createChooser(sendIntent,
                "Send via which Application?"));
    } catch (Exception e) {
        Toast.makeText(ctx, "No activity was found to handle this action",
                Toast.LENGTH_SHORT).show();
    }
}

これはメッセージアプリを開いていますが、addyに保存されている番号はメッセージ送信先列にリストされていません

4

2 に答える 2

1

複数の人にメールを送信するようなメールでこれを行いました

Intentアクションを介してサードパーティ アプリケーションを使用した場合、これが機能するかどうかはサードパーティ アプリケーションの作成者次第です。何百もの Android 用メール アプリのそれぞれが複数のアドレスの指定をサポートしているかどうかは、すべてをテストしない限りわかりません。

メッセージはどうする?

一度に 1 つずつ送信します。

EXTRA_PHONE_NUMBERあなたのコードは恐ろしいもので、文書化されていない MIME タイプを使用しています。これは必ずしもすべてのデバイスで受け入れられるわけではStringありませんが、String[].

ACTION_SEND、またはアドレスACTION_SENDTOを使用するとsmsto:、同様に単一の番号のみをサポートすることが保証され、その方法で電子メールを送信する場合と同じ問題が発生します.

SmsManagerSMS を直接送信する方法があります。彼らも一度に 1 つの電話番号しかサポートしていません。

于 2013-10-03T11:06:37.473 に答える