广播接收器接收呼叫的优先级

ita*_*ika 6 android broadcastreceiver

我的目的是制作一个广播接收器,在接收呼叫时执行动作.是否有可能比自动呼叫接收SO?更优先.

我已经尝试过分配一个2147483647我认为最好的优先级,但仍然会跳到我接收器结束前尝试呼叫.

<!-- Receiver de llamadas -->
<receiver android:name=".PhoneCall">
    <intent-filter android:priority="2147483647">
        <action android:name="android.intent.action.PHONE_STATE"/>   
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)

ita*_*ika 9

这个链接回答我:

http://developer.android.com/reference/android/content/BroadcastReceiver.html

可以接收两种主要类型的广播:

  • 普通广播(使用Context.sendBroadcast发送)是完全异步的.广播的所有接收者通常在同一时间以不确定的顺序运行.这更有效,但意味着接收者不能使用结果或中止此处包含的API.

  • 有序广播(与Context.sendOrderedBroadcast一起发送)一次传送到一个接收器.当每个接收器依次执行时,它可以将结果传播到下一个接收器,或者它可以完全中止广播,以便它不会传递给其他接收器.可以使用匹配的intent-filter的android:priority属性来控制运行的订单接收器; 具有相同优先级的接收器将以任意顺序运行.

像PHONE_STATE这样的广播是"普通广播".据我所知,不可能优先考虑我的广播.有没有人想到任何方式?