当我广播待定意图并通过putExtra()
提供我的数据时,我在接收器中获得这些意图并使用相同的数据,这等于第一个创建的待定意图
。代码:
for (int i = 0; i < parts.size(); i++) {
mSendIntent=new Intent("CTS_SMS_SEND_ACTION");
mSendIntent.putExtra("key",i):
sentIntents.add(PendingIntent.getBroadcast(smscontext, 0, mSendIntent,
0));
}
我尝试通过向getBroadcast
方法添加一些标记来获得我的结果但不成功,任何想法?
答案 0 :(得分:2)
要在每次调用PendingIntent
时获得唯一的getBroadcast()
,您需要提供唯一的Intent操作或唯一的请求代码。在您的示例中,最简单的方法是提供唯一的请求代码。试试这个:
for (int i = 0; i < parts.size(); i++) {
mSendIntent=new Intent("CTS_SMS_SEND_ACTION");
mSendIntent.putExtra("key", i):
sentIntents.add(PendingIntent.getBroadcast(smscontext, i, mSendIntent, 0));
}
我使用i
作为requestCode
参数。但是,i
可能不够独特(我不知道你的其余代码)。您可能需要添加日期或其他值以使其唯一。