Android 短信 Intent bundle toast 信息未更新

标签 android android-intent sms toast

我正在发送 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/

相关文章:

android - setChecked(false) 与 setChecked(true) 相同吗?

android - onClick 与 Relativelayout FC

android - 无法通过 Android 共享 Intent 共享带有链接的文本

android - 将数据传递到广播接收器以获取 SMS 传送报告

javascript - 我想在 View 端 javascript 中使用 Controller 中的数据

java - 切换到新的 Google Maps SDK 时出现迁移错误

android - 是否可以在activityview中调用webview onclicking imageview?

Android OrderedBroadcast 在发布版本中不起作用

java - 我们有短信协议(protocol)的错误代码吗?

android - 横向键盘遮挡 View