2013-10-03 21 views
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(); 
    } 
} 

這是打開郵件應用程序,但存儲在阿迪的數字在消息未列出發送到

回答

0

我這樣做是與電子郵件一樣發送電子郵件給多個人列

假設您通過Intent操作使用了第三方應用程序,這是否有效取決於第三方應用程序的作者。您無法知道Android的數百個電子郵件應用程序是否都支持指定多個地址,除非您全部測試。

如何做消息?

您一次發送一份。

您的代碼使用未記錄的MIME類型可怕,它不一定會在所有設備上使用,但EXTRA_PHONE_NUMBER應該是String,而不是String[]

ACTION_SEND,或ACTION_SENDTOsmsto:地址,同樣只保證支持單號,並給你同樣的問題,你有發送電子郵件的方式。

SmsManager有直接發送短信的方法;他們也一次只支持一個電​​話號碼。

+0

但是,當我們使用默認消息應用程序時,我們可以從聯繫人應用程序中選擇聯繫人。這是如何完成的。在那裏我們可以選擇多個聯繫人並一起發送消息。 – Bora

+0

@SureshBora:首先,沒有「默認消息應用程序」。有幾十個「默認消息應用程序」,因爲設備製造商可以並且自己替換開源的「消息應用程序」。我沒有看到開源消息應用程序中的哪個位置可以選擇聯繫人,更不用說多個聯繫人了。我也沒有看到開源聯繫人應用程序中的哪裏可以選擇多個聯繫人並「一起」發送消息。 – CommonsWare

+0

@SureshBora:如果您在某些製造商版本的消息和/或聯繫人應用程序中看到此信息,請聯繫製造商以獲取詳細信息。然而,正如我在我的回答中已經指出的那樣,你不能認爲僅僅因爲*一個*製造商的一個*消息傳遞應用程序支持這一點*所有*製造商和第三方作者的所有消息傳遞應用程序都支持這一點。 – CommonsWare