我想發送短信。如果文本太長,我將它分成多個消息。我試圖把一些額外的信息到「已發送」的意圖知道哪些部分已發送,當所有的配件是否齊全:將數據放入SMS發送的意圖?
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);
}
發送的消息,我抓住的意圖時,每部分被髮送 - 但意圖總是有相同的數據。例如,「partIndex」總是爲零,即使對於第二條消息,它應該是一個。看起來像同樣的意圖只是不斷被拋到我的廣播接收器。什麼是正確的方法來做到這一點?
感謝
確切地說;你需要告訴框架不要重複使用相同的PendingIntent。儘管發送多條消息,您是否可以不使用sendMultipartTextMessage方法? – 2009-12-31 01:39:17
我在代碼中使用PendingIntent.FLAG_CANCEL_CURRENT標誌和sendMultipartTextMessage。 – Samuh 2009-12-31 04:52:56