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));