BroadcastOptions
open class BroadcastOptions
kotlin.Any | |
↳ | android.app.BroadcastOptions |
Helper class for building an options Bundle that can be used with Context.sendBroadcast(Intent)
and related methods.
Summary
Constants | |
---|---|
static Int |
Deferral policy that indicates no desire has been expressed, and that the system should use a reasonable default behavior. |
static Int |
Deferral policy that indicates a strong desire that no receiver of this broadcast should be deferred. |
static Int |
Deferral policy that indicates a strong desire that each receiver of this broadcast should be deferred until that receiver's process is in an active (non-cached) state. |
static Int |
Delivery group policy that indicates that all the broadcasts in the delivery group need to be delivered as is. |
static Int |
Delivery group policy that indicates that only the most recent broadcast in the delivery group need to be delivered and the rest can be dropped. |
Public methods | |
---|---|
open Unit |
Clears any deferral policy for this broadcast that specifies how this broadcast can be deferred for delivery at some future point. |
open Unit |
Clears the namespace and key that was previously set using |
open Unit |
Clears any previously set delivery group policies using |
open static BroadcastOptions |
fromBundle(options: Bundle) Returns a |
open Int |
Gets deferral policy for this broadcast that specifies how this broadcast can be deferred for delivery at some future point. |
open String? |
Return the namespace and key that is used to identify the delivery group that this broadcast belongs to. |
open Int |
Get the delivery group policy for this broadcast that specifies how multiple broadcasts belonging to the same delivery group has to be handled. |
open Boolean |
Returns whether the broadcasting app has opted-in to sharing its identity with the receiver. |
open static BroadcastOptions |
Creates a basic |
open BroadcastOptions |
setDeferralPolicy(deferralPolicy: Int) Sets deferral policy for this broadcast that specifies how this broadcast can be deferred for delivery at some future point. |
open BroadcastOptions |
setDeliveryGroupMatchingKey(namespace: String, key: String) Set namespace and key to identify the delivery group that this broadcast belongs to. |
open BroadcastOptions |
setDeliveryGroupPolicy(policy: Int) Set delivery group policy for this broadcast to specify how multiple broadcasts belonging to the same delivery group has to be handled. |
open BroadcastOptions |
Sets whether the identity of the broadcasting app should be shared with all receivers that will receive this broadcast. |
open Bundle |
toBundle() Returns the created options as a Bundle, which can be passed to |
Constants
DEFERRAL_POLICY_DEFAULT
static val DEFERRAL_POLICY_DEFAULT: Int
Deferral policy that indicates no desire has been expressed, and that the system should use a reasonable default behavior.
Value: 0
DEFERRAL_POLICY_NONE
static val DEFERRAL_POLICY_NONE: Int
Deferral policy that indicates a strong desire that no receiver of this broadcast should be deferred.
Value: 1
DEFERRAL_POLICY_UNTIL_ACTIVE
static val DEFERRAL_POLICY_UNTIL_ACTIVE: Int
Deferral policy that indicates a strong desire that each receiver of this broadcast should be deferred until that receiver's process is in an active (non-cached) state. Whether an app's process state is considered active is independent of its standby bucket.
This policy only applies to runtime registered receivers of a broadcast, and does not apply to ordered broadcasts, alarm broadcasts, interactive broadcasts, or manifest broadcasts.
This policy means that a runtime registered receiver will not typically execute until that receiver's process is brought to an active state by some other action, such as a job, alarm, or service binding. As a result, the receiver may be delayed indefinitely.
When this policy is set on an unordered broadcast with a completion callback, the completion callback will run once all eligible processes have finished receiving the broadcast. Processes in inactive process state are not considered eligible and may not receive the broadcast prior to the completion callback.
Value: 2
DELIVERY_GROUP_POLICY_ALL
static val DELIVERY_GROUP_POLICY_ALL: Int
Delivery group policy that indicates that all the broadcasts in the delivery group need to be delivered as is.
Value: 0
DELIVERY_GROUP_POLICY_MOST_RECENT
static val DELIVERY_GROUP_POLICY_MOST_RECENT: Int
Delivery group policy that indicates that only the most recent broadcast in the delivery group need to be delivered and the rest can be dropped.
Value: 1
Public methods
clearDeferralPolicy
open fun clearDeferralPolicy(): Unit
Clears any deferral policy for this broadcast that specifies how this broadcast can be deferred for delivery at some future point.
clearDeliveryGroupMatchingKey
open fun clearDeliveryGroupMatchingKey(): Unit
Clears the namespace and key that was previously set using setDeliveryGroupMatchingKey(java.lang.String,java.lang.String)
.
clearDeliveryGroupPolicy
open fun clearDeliveryGroupPolicy(): Unit
Clears any previously set delivery group policies using setDeliveryGroupMatchingKey(java.lang.String,java.lang.String)
and resets the delivery group policy to the default value (DELIVERY_GROUP_POLICY_ALL
).
fromBundle
open static fun fromBundle(options: Bundle): BroadcastOptions
Returns a BroadcastOptions
parsed from the given Bundle
, typically generated from toBundle()
.
Parameters | |
---|---|
options |
Bundle: This value cannot be null . |
Return | |
---|---|
BroadcastOptions |
This value cannot be null . |
getDeferralPolicy
open fun getDeferralPolicy(): Int
Gets deferral policy for this broadcast that specifies how this broadcast can be deferred for delivery at some future point.
Return | |
---|---|
Int |
Value is android.app.BroadcastOptions#DEFERRAL_POLICY_DEFAULT , android.app.BroadcastOptions#DEFERRAL_POLICY_NONE , or android.app.BroadcastOptions#DEFERRAL_POLICY_UNTIL_ACTIVE |
getDeliveryGroupMatchingKey
open fun getDeliveryGroupMatchingKey(): String?
Return the namespace and key that is used to identify the delivery group that this broadcast belongs to.
Return | |
---|---|
String? |
the delivery group namespace and key that was previously set using setDeliveryGroupMatchingKey(java.lang.String,java.lang.String) , concatenated with a : . This value may be null . |
getDeliveryGroupPolicy
open fun getDeliveryGroupPolicy(): Int
Get the delivery group policy for this broadcast that specifies how multiple broadcasts belonging to the same delivery group has to be handled.
Return | |
---|---|
Int |
Value is android.app.BroadcastOptions#DELIVERY_GROUP_POLICY_ALL , android.app.BroadcastOptions#DELIVERY_GROUP_POLICY_MOST_RECENT , or android.app.BroadcastOptions.DELIVERY_GROUP_POLICY_MERGED |
isShareIdentityEnabled
open fun isShareIdentityEnabled(): Boolean
Returns whether the broadcasting app has opted-in to sharing its identity with the receiver.
Return | |
---|---|
Boolean |
true if the broadcasting app has opted in to sharing its identity |
makeBasic
open static fun makeBasic(): BroadcastOptions
Creates a basic BroadcastOptions
with no options initially set.
Return | |
---|---|
BroadcastOptions |
an instance of BroadcastOptions against which options can be set This value cannot be null . |
setDeferralPolicy
open fun setDeferralPolicy(deferralPolicy: Int): BroadcastOptions
Sets deferral policy for this broadcast that specifies how this broadcast can be deferred for delivery at some future point.
Parameters | |
---|---|
deferralPolicy |
Int: Value is android.app.BroadcastOptions#DEFERRAL_POLICY_DEFAULT , android.app.BroadcastOptions#DEFERRAL_POLICY_NONE , or android.app.BroadcastOptions#DEFERRAL_POLICY_UNTIL_ACTIVE |
Return | |
---|---|
BroadcastOptions |
This value cannot be null . |
setDeliveryGroupMatchingKey
open fun setDeliveryGroupMatchingKey(
namespace: String,
key: String
): BroadcastOptions
Set namespace and key to identify the delivery group that this broadcast belongs to.
If namespace
and key
are specified, then another broadcast will be considered to be in the same delivery group as this iff it has the same namespace
and key
.
If not matching key using this API then by default Intent#filterEquals(Intent)
will be used to identify the delivery group.
Parameters | |
---|---|
namespace |
String: This value cannot be null . |
key |
String: This value cannot be null . |
Return | |
---|---|
BroadcastOptions |
This value cannot be null . |
setDeliveryGroupPolicy
open fun setDeliveryGroupPolicy(policy: Int): BroadcastOptions
Set delivery group policy for this broadcast to specify how multiple broadcasts belonging to the same delivery group has to be handled.
Parameters | |
---|---|
policy |
Int: Value is android.app.BroadcastOptions#DELIVERY_GROUP_POLICY_ALL , android.app.BroadcastOptions#DELIVERY_GROUP_POLICY_MOST_RECENT , or android.app.BroadcastOptions.DELIVERY_GROUP_POLICY_MERGED |
Return | |
---|---|
BroadcastOptions |
This value cannot be null . |
setShareIdentityEnabled
open fun setShareIdentityEnabled(: Boolean): BroadcastOptions
Sets whether the identity of the broadcasting app should be shared with all receivers that will receive this broadcast.
Use this option when broadcasting to a receiver that needs to know the identity of the broadcaster; with this set to true
, the receiver will have access to the broadcasting app's package name and uid.
Defaults to false
if not set.
Parameters | |
---|---|
shareIdentityEnabled |
Boolean: whether the broadcasting app's identity should be shared with the receiver |
Return | |
---|---|
BroadcastOptions |
this BroadcastOptions instance This value cannot be null . |
toBundle
open fun toBundle(): Bundle
Returns the created options as a Bundle, which can be passed to Context.sendBroadcast(Intent)
and related methods. Note that the returned Bundle is still owned by the BroadcastOptions object; you must not modify it, but can supply it to the sendBroadcast methods that take an options Bundle.
Return | |
---|---|
Bundle |
This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalStateException |
if the broadcast option values are inconsistent. For example, if the delivery group policy is specified as "MERGED" but no extras merger is supplied. |