先注冊一個broadcast:
private BroadcastReceiver smsBroadcastReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent)
{
System.out.println("ACTION_RAYCLEAR_SEND_SMS");
if("ACTION_RAYCLEAR_SEND_SMS_test".equals(intent.getAction()))
{
boolean issucess = false;
switch (getResultCode()) {
case RESULT_OK:
issucess = true;
System.out.println("發送成功");
break;
default:
issucess = false;
System.out.println("發送失敗");
break;
}
String phoneString = intent.getStringExtra("KEY_CONTACT_PHONE");
System.out.println(phoneString);
}
}
};
在onclick函數裡群發短信
case R.id.main_start:
sendBroadcast(new Intent());
SmsManager smsManager = SmsManager.getDefault();
for(int i=0;i<5;i++)
{
System.out.println("send");
Intent sendintent = new Intent("ACTION_RAYCLEAR_SEND_SMS_test");
sendintent.putExtra("KEY_CONTACT_PHONE", String.format("1380000000%d", i));
smsManager.sendTextMessage(String.format("1380000000%d", i), null, "test", PendingIntent.getBroadcast(this, 0, sendintent, PendingIntent.FLAG_UPDATE_CURRENT), null);
}
break;
broadcast通過擷取intent裡附加的extradata來區分短信發送給誰
注意參數PendingIntent.FLAG_UPDATE_CURRENT,網上基本都是0,必須要用這個。