跟踪Android中发送的短信

时间:2012-04-12 06:09:48

标签: android sms

我注意到我通过Android中的标准SmsManager发出的跟踪待处理意图似乎没有保留其中的额外信息。例如:

Intent sentIntent = new Intent(SENT);
sentIntent.putExtra("value1", "foo"); // <- note this value
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, sentIntent, 0);

SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(numberToSendTo, null, mMessageToSend, sentPI, null);

//... in the broadcastReceiver that catches the SENT intent ...
public void onReceive(Context arg0, Intent arg1) {

    arg1.getExtras().getString("value1");  // <- nothing, no such key
}

有人可以测试一下,这种行为是否有意,我做错了,或者这是一个为Android提交的错误?

1 个答案:

答案 0 :(得分:1)

尝试在创建PendingIntent时添加标记FILL_IN_SELECTOR(请参阅PendingIntent.getBroadcast的规范以了解标记及其一般行为)。这应该会强制PendingIntent接收来自Intent的所有顶级附加内容。