我的意图是使广播接收器在接收呼叫时执行操作。比自动呼叫接收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>

最佳答案

此链接回答我:

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

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


  
  普通广播(通过Context.sendBroadcast发送)是完全异步的。广播的所有接收器都在未定义的状态下运行
  经常在同一时间订购。这是更有效的方法,但这意味着
  接收者无法使用结果或中止此处包含的API。
  有序广播(通过Context.sendOrderedBroadcast发送)一次传送到一个接收器。随着每个接收器执行
  反过来,它可以将结果传播到下一个接收器,也可以
  完全中止广播,以免将其传递给其他人
  接收者。接收方的运行顺序可以通过
  匹配的intent-filter的android:priority属性;接收者
  具有相同优先级的对象将以任意顺序运行。
  


像PHONE_STATE这样的广播是“正常广播”。据我了解,无法确定广播的优先级。有人想到吗?

10-05 21:17
查看更多