我正在发送 2 条短信,我想有 2 条 toast 消息
1) "SMS sent - first number"和
2) “短信已发送 - 第二个号码”
但是,我收到了 2 条 toast 消息,都显示了消息
1)、消息发生了什么
2)?缺少什么?
谢谢。
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS sent - " + arg1.getStringExtra("SendTo"),
Toast.LENGTH_LONG).show();
break;
}
}
}, new IntentFilter(SENT));
SmsManager sms = SmsManager.getDefault();
Intent intent = new Intent(SENT);
intent.putExtra("SendTo", "first number");
PendingIntent sentIntents = PendingIntent.getBroadcast(this, 0, intent, 0);
sms.sendTextMessage("1234", null, message, sentIntents, null);
Intent intent1 = new Intent(SENT);
intent1.putExtra("SendTo", "second number");
PendingIntent sentIntents1 = PendingIntent.getBroadcast(this, 0, intent1, 0);
sms.sendTextMessage("456", null, message, sentIntents1, null);
最佳答案
您正在做的是 - 使用相同的 Intent 。因此您必须更新 Intent 并更改请求代码,以使结果不重叠。 请参阅以下内容。以下代码将起作用。
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS sent - " + arg1.getStringExtra("SendTo"),
Toast.LENGTH_LONG).show();
break;
}
}
}, new IntentFilter(SENT));
SmsManager sms = SmsManager.getDefault();
Intent intent = new Intent(SENT);
intent.putExtra("SendTo", "first number");
PendingIntent sentIntents = PendingIntent.getBroadcast(this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT);
sms.sendTextMessage("5556", null,message, sentIntents, null);
Intent intent1 = new Intent(SENT);
intent1.putExtra("SendTo", "second number");
PendingIntent sentIntents1 = PendingIntent.getBroadcast(this, 1, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
sms.sendTextMessage("5556", null, message, sentIntents1, null);
关于Android 短信 Intent bundle toast 信息未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10908886/