读书人

施用abortBroadcast以后也不能屏蔽广播

发布时间: 2012-11-19 10:18:51 作者: rapoo

使用abortBroadcast以后也不能屏蔽广播
有没有童鞋遇到这种问题?
AndroidManifest已经加入如下语句了。但是在Broadcast里还是不能屏蔽广播
<receiver android:name=".BroadcastReceiverMgr">
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>

[解决办法]

有序广播的发送和接收:
sendOrderedBroadcast(intent, receiverPermission);

sendOrderedBroadcast(intent, receiverPermission, resultReceiver,

scheduler, initialCode, initialData, initialExtras)

1, 该广播的级别有级别之分,级别数值是在 -1000 到 1000 之间 , 值越大 , 优先级越高;

2, 同级别接收是先后是随机的,再到级别低的收到广播;

3, 同级别接收是先后是随机的,如果先接收到的把广播截断了,同级别的例外的接收者是无法收到该广播的。( abortBroadcast() )

4 ,能截断广播的继续传播,高级别的广播收到该广播后,可以决定把该钟广播是否截断掉。

5 ,实验现象,在这个方法发来的广播中,代码注册方式中,收到广播先后次序为:注明优先级的、代码注册的、没有优先级的;如果都没有优先级,代码注册收到为最先。



读书人网 >Android

热点推荐