Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 连续快速发送的广播会导致广播接收器出现问题_Android - Fatal编程技术网

Android 连续快速发送的广播会导致广播接收器出现问题

Android 连续快速发送的广播会导致广播接收器出现问题,android,Android,我的短信广播接收器有一个奇怪的问题。当用户快速连续发送多条sms时,广播接收器会同时发送最新信息 例如: User sends SMS ID 2 User sends SMS ID 3 接收者获得: Mark ID 3 as Read Mark ID 3 as Read 以下是我的短信代码: for (ignored in parts) { sentReceivers.add(PendingIntent.getBroadcast(this, mId.toInt(), Inte

我的短信广播接收器有一个奇怪的问题。当用户快速连续发送多条sms时,广播接收器会同时发送最新信息

例如:

User sends SMS ID 2
User sends SMS ID 3
接收者获得:

Mark ID 3 as Read
Mark ID 3 as Read
以下是我的短信代码:

for (ignored in parts) {
        sentReceivers.add(PendingIntent.getBroadcast(this, mId.toInt(), Intent(this, SmsSentBroadcast::class.java)
                .putExtra("message_uri", messageUri.toString()).putExtra("message_id", mId), PendingIntent.FLAG_UPDATE_CURRENT))

        if (delivery)
            deliverReceivers!!.add(PendingIntent.getActivity(this, mId.toInt(), Intent(this, SmsDeliverBroadcast::class.java).putExtra("message_uri", messageUri.toString()).putExtra("message_id", mId), PendingIntent.FLAG_UPDATE_CURRENT))
    }

    smsManager.sendMultipartTextMessage(address, null, parts, sentReceivers, deliverReceivers)

问题是
mId.toInt()
在某些情况下不是唯一的,因此
pendingent.FLAG\u UPDATE\u CURRENT
正在覆盖它

现在,
mId.toInt()
每次都是唯一的,因此广播工作正常