Как идентифицировать отчет о доставке смс?
Я отправляю смс и получаю отчет о доставке, но не могу его идентифицировать. В Intent зашиваю значение для индентификации, но при чтении значения получаю только самого первого за время установки приложения. Что я делаю не так и как разделить эти отчеты?
//---Отчет доставки---
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
String idSendSms = arg1.getStringExtra("idSendSms"); // Здесь получаю
Msg msg;
Date dateNow = new Date();
@SuppressLint("SimpleDateFormat") SimpleDateFormat formatForDateNow = new SimpleDateFormat("dd.MM.yyyy");
switch (getResultCode()) {
case Activity.RESULT_OK:
msg = new Msg();
msg.setIdsendsms(idSendSms);
msg.setSendfaktdata(formatForDateNow.format(dateNow));
msg.setStat(1);
msgList.add(msg);
break;
case Activity.RESULT_CANCELED:
msg = new Msg();
msg.setIdsendsms(idSendSms);
msg.setSendfaktdata(formatForDateNow.format(dateNow));
msg.setStat(0);
msgList.add(msg);
break;
}
}
}, new IntentFilter(DELIVERED));
for (int i = 0; i < msg.length(); i++) {
final JSONObject number = msg.getJSONObject(i);
final int finalI = i;
String n = 8+number.getString("sendnumber");
PendingIntent sentPI = getSentPI(number.getString("idsendsms"));
PendingIntent deliveredPI = getDelivered(number.getString("idsendsms"));
smsManager.sendTextMessage(n, null, number.getString("sendmessage"), getSentPI(number.getString("idsendsms")), getDelivered(i+""));
}
PendingIntent getDelivered(String idSendSms){
Intent intent = new Intent(DELIVERED);
intent.putExtra("idSendSms", idSendSms);
return PendingIntent.getBroadcast(getBaseContext(), 0, intent,0);
}