我有一个针对android.provider.Telephony.SMS_RECEIVED的BroadcastReceiver。我将拦截一些短信,所以我将abortBroadcast(),但不是所有短信。
但是当我从意图中提取短信时,我想我可以获得多条短信?
Object[] messages = (Object[]) intent.getSerializableExtra("pdus");
消息是一个Object [],是否意味着它可能是几条短信?或者我可以放心地假设它总是一条短信。
我的问题是,如果我收到几条短信而且我只需截取一条,我就不能正常操作,因为如果我abortBroadcast()用户将丢失一些合法的短信,如果我不这样做,他会得到一些短信他不应该。
我在Android 2.2上
答案 0 :(得分:1)
我自己没有尝试过,但根据下面的链接“每个短信一次”规则不正确。特别是,使用messages.length>调用onReceive。在多部分消息的情况下为1。
我认为这些链接会有所帮助: