BroadcastReceiver.onReceive是否每个sms只调用一次?

时间:2011-06-10 13:00:00

标签: android sms broadcastreceiver pdu

我有一个针对android.provider.Telephony.SMS_RECEIVED的BroadcastReceiver。我将拦截一些短信,所以我将abortBroadcast(),但不是所有短信。

但是当我从意图中提取短信时,我想我可以获得多条短信?

Object[] messages = (Object[]) intent.getSerializableExtra("pdus");

消息是一个Object [],是否意味着它可能是几条短信?或者我可以放心地假设它总是一条短信。

我的问题是,如果我收到几条短信而且我只需截取一条,我就不能正常操作,因为如果我abortBroadcast()用户将丢失一些合法的短信,如果我不这样做,他会得到一些短信他不应该。

我在Android 2.2上

1 个答案:

答案 0 :(得分:1)

我自己没有尝试过,但根据下面的链接“每个短信一次”规则不正确。特别是,使用messages.length>调用onReceive。在多部分消息的情况下为1。

我认为这些链接会有所帮助:

相关问题