直接上代码
private PendingIntent RegisterReceiver_Delivered(int index, final String Id) {
String Action = getString(R.string.Delivered_Sms_Action);
Intent sendIntent = new Intent(Action);tent.putExtra("Id", Id);
sendIntent.putExtra("Index", index);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MyService.this, times++, sendIntent, PendingIntent.FLAG_UPDATE_CURRENT);
MyService.this.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
String Id = bundle.getString("Id");
int index = bundle.getInt("Index");
}
}, new IntentFilter(Action));
return pendingIntent;
}
ArrayList<PendingIntent> SentInts = new ArrayList<>();
ArrayList<PendingIntent> Delivereds = new ArrayList<>();
for (int i = 0; i < dvideSms.size(); ++i) {
SentInts.add(RegisterReceiver_SendSms(CurrIndex, Id));
Delivereds.add(RegisterReceiver_Delivered(CurrIndex, Id));
}
smsManager.sendMultipartTextMessage(PhoneNumber, null, dvideSms, SentInts, Delivereds);
监听 送达 (Delivereds) 的广播里 参数 Index Id 却一直是第一次传入的参数
百度了许多都说 是requstCode需要传不同值
但是我确定 requstDode 每次传入值都不一样 为什么还是如此呢
private PendingIntent RegisterReceiver_Delivered(int index, final String Id) {
String Action = getString(R.string.Delivered_Sms_Action);
Intent sendIntent = new Intent(Action);tent.putExtra("Id", Id);
sendIntent.putExtra("Index", index);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MyService.this, times++, sendIntent, PendingIntent.FLAG_UPDATE_CURRENT);
MyService.this.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
String Id = bundle.getString("Id");
int index = bundle.getInt("Index");
}
}, new IntentFilter(Action));
return pendingIntent;
}
ArrayList<PendingIntent> SentInts = new ArrayList<>();
ArrayList<PendingIntent> Delivereds = new ArrayList<>();
for (int i = 0; i < dvideSms.size(); ++i) {
SentInts.add(RegisterReceiver_SendSms(CurrIndex, Id));
Delivereds.add(RegisterReceiver_Delivered(CurrIndex, Id));
}
smsManager.sendMultipartTextMessage(PhoneNumber, null, dvideSms, SentInts, Delivereds);
监听 送达 (Delivereds) 的广播里 参数 Index Id 却一直是第一次传入的参数
百度了许多都说 是requstCode需要传不同值
但是我确定 requstDode 每次传入值都不一样 为什么还是如此呢
