Search code examples
androidbroadcastreceiver

What is the integer value that gives a broadcast receiver highest priority?


What is the integer value the gives a broadcast receiver the highest priority?

<intent-filter android:priority="1">
  <action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>

Solution

  • Well, according to the documentation

    "The value must be an integer, such as "100". Higher numbers have a higher priority."
    

    So I'm guessing that any integer value is valid. And the highest priority possible would be the maximum integer that android allows, which is (2^31 - 1).

    EDIT

    The documentation has been updated, and it now explicitly states which priority values may be used by applications. The documentation now says

    SYSTEM_HIGH_PRIORITY (1000): Applications should never use filters with this or higher priorities. SYSTEM_LOW_PRIORITY (-1000): Applications should never use filters with this or lower priorities.

    Implying that your application is permitted to use integer priority levels between -999 and 999.