在我的应用程序中,我一次发送多个短信,工作得非常好。但是,当我试图在广播接收器中接收确认消息时,我希望得到所有号码,但我最终收到相同的一个号码而不是n个号码。
发送短信
Intent intent = new Intent(SENT);
intent.putExtra("phonenumber", sms_phonenumber);
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
SmsManager sms_man = SmsManager.getDefault();
sms_man.sendTextMessage(sms_phonenumber, null, sms_message, sentPI, null);
接收已发送确认
private class SMSReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent intent) {
switch (getResultCode()) {
case Activity.RESULT_OK:
String phoneNumber = intent.getExtras()
.getString("phonenumber");
alertMessage("Request sent to " + phoneNumber + ".");
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
String phoneNumber1 = intent.getExtras().getString(
"phonenumber");
alertMessage("Sending Failed to " + phoneNumber1 + ".");
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
String phone = intent.getExtras().getString(
"phonenumber");
alertMessage("No service");
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
alertMessage("Null PDU");
Toast.makeText(getBaseContext(), "Null PDU", Toast.LENGTH_SHORT)
.show();
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
alertMessage("Radio off");
break;
}
}
}
我在谷歌搜索了很多,但是没有一个能解决我的问题。
感谢您的帮助。
答案 0 :(得分:3)
尝试使用设置待定意图的唯一ID
随时等待意图PendingIntent pendingintent = PendingIntent.getService(this,uId,mIntent,PendingIntent.FLAG_ONE_SHOT);
答案 1 :(得分:0)
尝试一个接一个地发送消息。 发送一条消息......然后从接收方法发送下一条消息。