gpt4 book ai didi

android - 发送短信未决意向额外获得覆盖

转载 作者:行者123 更新时间:2023-11-29 14:38:25 28 4
gpt4 key购买 nike

您好,我在我的服务中通过 SmsManager 从我的应用程序发送消息,并为发送和传递的短信注册广播接收器,我想在消息到达或未到达时更新消息状态。按照现在的方式,我可以通过将带有行 ID 的额外内容放入带有标记 PendingIntent.FLAG_UPDATE_CURRENT 的待定 Intent 中来发送消息。但是一旦发送了消息,我就会收到仅包含最后一行额外内容的广播事件,而我无法检索其他行的额外内容。我正在使用 PendingIntent.FLAG_UPDATE_CURRENT,这就是为什么附加功能被覆盖的原因,我也检查了其他标志但没有用。如何在不被覆盖的情况下获得其他行的额外内容?我在服务中发送短信的另一件事是这种方法合适吗?任何建议将是
帮助很大。

  String mSelectionClause = MyContentprovider.STATUS+ " = ?";
String[] mSelectionArgs = {"fail"};


Uri students = MyContentprovider.CONTENT_URI_SENDMSG;
Cursor c = getContentResolver().query(students, null, mSelectionClause, mSelectionArgs, "userphno");
if (c.moveToFirst()) {
do{



String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";

Intent SENTINTENT=new Intent(SENT);
SENTINTENT.putExtra("id",c.getString(c.getColumnIndex( MyContentprovider._ID)));
SENTINTENT.putExtra("userno", c.getString(c.getColumnIndex( MyContentprovider.USER_PHNO)));
if(c.isLast()){

SENTINTENT.putExtra("lastrow", "true");

}


Intent DELIVEREDINTENT=new Intent(DELIVERED);
DELIVEREDINTENT.putExtra("id",c.getString(c.getColumnIndex( MyContentprovider._ID)));
DELIVEREDINTENT.putExtra("userno", c.getString(c.getColumnIndex( MyContentprovider.USER_PHNO)));

PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
SENTINTENT, PendingIntent.FLAG_UPDATE_CURRENT);


PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
DELIVEREDINTENT, PendingIntent.FLAG_UPDATE_CURRENT);

String msg= c.getString(c.getColumnIndex( MyContentprovider.MESSAGE));

SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage( c.getString(c.getColumnIndex( MyContentprovider.USER_PHNO)), null, msg, sentPI, deliveredPI);

在广播接收器中,我存储行的 ID,那里没有太多代码

最佳答案

我找到的解决方案是为 requestCode(第二个参数)传递一个唯一的 int:

PendingIntent.getBroadcast(this, 0, SENTINTENT, PendingIntent.FLAG_UPDATE_CURRENT)

然后它为每个创建一个新的 PendingIntent

关于android - 发送短信未决意向额外获得覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22006581/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com