Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Priority in a broadcast receiver to receive calls

My intention is to make a Broadcast receiver that performs actions when receiving a call. Is it possible that had more priority than the automatic call reception SO?.

I've tried assigning a priority of 2147483647 which I think is the best, but still jumps me to try the call before the end of my receiver.

<!-- Receiver de llamadas -->
<receiver android:name=".PhoneCall">
    <intent-filter android:priority="2147483647">
        <action android:name="android.intent.action.PHONE_STATE"/>   
    </intent-filter>
</receiver>
like image 794
itaravika Avatar asked Apr 28 '11 10:04

itaravika


2 Answers

Actually, I don't think that 2147483647 is the best value to use, because Android won't understand it and will ignore this value. What you have to do is try to set the priority to 999, since I guess 1000 is the maximum value.

like image 31
eliane Avatar answered Oct 12 '22 12:10

eliane


This link answer me:

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

There are two major classes of broadcasts that can be received:

  • Normal broadcasts (sent with Context.sendBroadcast) are completely asynchronous. All receivers of the broadcast are run in an undefined order, often at the same time. This is more efficient, but means that receivers cannot use the result or abort APIs included here.

  • Ordered broadcasts (sent with Context.sendOrderedBroadcast) are delivered to one receiver at a time. As each receiver executes in turn, it can propagate a result to the next receiver, or it can completely abort the broadcast so that it won't be passed to other receivers. The order receivers run in can be controlled with the android:priority attribute of the matching intent-filter; receivers with the same priority will be run in an arbitrary order.

Broadcast like PHONE_STATE are "Normal broadcast". As far as I understand it is not possible to prioritize my broadcast. Does anyone think of any way?

like image 121
itaravika Avatar answered Oct 12 '22 13:10

itaravika