将数据放入SMS发送意图?

Mar*_*ark 3 android

我想发短信.如果文本太长,我将其拆分为多条消息.我正在尝试将一些额外的信息添加到"已发送"的意图中以了解哪个部分已被发送,以及所有部分何时完成:

ArrayList<String> messageParts = ...;
for (int i = 0; i < messageParts.size(); i++) {
    sms.sendTextMessage(
      address, 
      null, 
      messageParts.get(i), 
      generateIntent(context, messageParts.size(), i), 
      null));
}

PendingIntent generateIntent(Context context, int partCount, int partIndex)
{
    Intent intent = new Intent("SMS_SENT");
    intent.putExtra("partCount", partCount);
    intent.putExtra("partIndex", partIndex);
    return PendingIntent.getBroadcast(context, 0, intent, 0);
}
Run Code Online (Sandbox Code Playgroud)

发送消息,并在发送每个部分时捕获意图 - 但意图始终具有相同的数据.例如,"partIndex"始终为零,即使对于第二条消息,它也应为1.似乎同样的意图只是不断被扔到我的广播接收器.这样做的正确方法是什么?

谢谢

Com*_*are 8

在尝试创建新的之前尝试使用FLAG_ONE_SHOT或以其他方式取消PendingIntent之前的版本.