Android 将数据传递到广播接收器以进行SMS传递报告

Android 将数据传递到广播接收器以进行SMS传递报告,android,android-intent,sms,broadcastreceiver,Android,Android Intent,Sms,Broadcastreceiver,在活动中,我使用了putExtra(String,String)将数据传递给广播接收器,但问题是,在第一条短信发送几秒钟后,向不同的姓名和号码发送第二条短信时,姓名和电话号码没有改变 当我等待很长时间并发送短信时,姓名和号码被更改为正确的姓名和号码。为什么? 如何解决这个问题 SmsManager SM1=SmsManager.getDefault(); ArrayList<String> parts = SM1.d

在活动中,我使用了
putExtra(String,String)
将数据传递给广播接收器,但问题是,在第一条短信发送几秒钟后,向不同的姓名和号码发送第二条短信时,姓名和电话号码没有改变

当我等待很长时间并发送短信时,姓名和号码被更改为正确的姓名和号码。为什么?

如何解决这个问题

                 SmsManager SM1=SmsManager.getDefault();
                 ArrayList<String> parts = SM1.divideMessage("Hello");
                 ArrayList<PendingIntent> sentIntents = new ArrayList<PendingIntent>();
                 ArrayList<PendingIntent> deliveryIntents = new ArrayList<PendingIntent>();

                 size=parts.size();
                 for (int i=1;i<=size;i++) {

                  Intent in=new Intent("package.DeliveryReport.SMS_DELIVERED");
                 in.putExtra("package.DeliveryReport.name", name);
                 in.putExtra("package.DeliveryReport.phoneNumber", phoneNumber);
                 deliveryIntents.add(PendingIntent.getBroadcast(this, 0,
                         in, 0));

                 }

                SM1.sendMultipartTextMessage(phoneNumber,null,parts,sentIntents,deliveryIntents);

我所需要的只是添加PendingEvent.FLAG\u一个镜头

Intent in=new Intent("package.DeliveryReport.SMS_DELIVERED");
             in.putExtra("package.DeliveryReport.name", name);
             in.putExtra("package.DeliveryReport.phoneNumber", phoneNumber);
             deliveryIntents.add(PendingIntent.getBroadcast(this, 0,
                     in, PendingIntent.FLAG_ONE_SHOT));

太棒了,谢谢分享这个兄弟
Intent in=new Intent("package.DeliveryReport.SMS_DELIVERED");
             in.putExtra("package.DeliveryReport.name", name);
             in.putExtra("package.DeliveryReport.phoneNumber", phoneNumber);
             deliveryIntents.add(PendingIntent.getBroadcast(this, 0,
                     in, PendingIntent.FLAG_ONE_SHOT));