public
abstract
class
PolicyUpdatesReceiver
extends BroadcastReceiver
Base class for implementing a policy update receiver. This class provides a convenience for
interpreting the raw intent actions (ACTION_DEVICE_POLICY_SET_RESULT and
ACTION_DEVICE_POLICY_CHANGED) that are sent by the system.
The callback methods happen on the main thread of the process. Thus, long-running operations must be done on another thread.
When publishing your PolicyUpdatesReceiver subclass as a receiver, it must
require the Manifest.permission.BIND_DEVICE_ADMIN permission.
Admins can implement DeviceAdminService to ensure they receive all policy updates
(for policies they have set) via onPolicyChanged(Context, String, Bundle, TargetUser, PolicyUpdateReason) by constantly being bound to by the
system. For more information see DeviceAdminService.
Summary
Public constructors | |
|---|---|
PolicyUpdatesReceiver()
|
|
Public methods | |
|---|---|
void
|
onPolicyChanged(Context context, String policyKey, Bundle additionalPolicyParams, TargetUser targetUser, PolicyUpdateReason reason)
Callback triggered when a policy previously set by the admin has changed. |
void
|
onPolicySetResult(Context context, String policyKey, Bundle additionalPolicyParams, TargetUser targetUser, int result, PolicyUpdateReason reason)
Callback triggered after an admin has set a policy using one of the APIs in
|
Inherited methods | |||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
From class
| |||||||||||||||||||||||||||||||||||||
|
From class
| |||||||||||||||||||||||||||||||||||||
Constants
ACTION_DEVICE_POLICY_SET_RESULT
public static final String ACTION_DEVICE_POLICY_SET_RESULT
Action for a broadcast sent to admins to communicate back the result of setting a policy in
DevicePolicyManager.
Admins wishing to receive these updates (via onPolicySetResult(Context, String, Bundle, TargetUser, int, PolicyUpdateReason)) should include
this action in the intent filter for their receiver in the manifest, the receiver
must be protected by Manifest.permission.BIND_DEVICE_ADMIN to ensure that
only the system can send updates.
Admins shouldn't implement BroadcastReceiver.onReceive(Context, Intent) and should instead implement
onPolicySetResult(Context, String, Bundle, TargetUser, int, PolicyUpdateReason).
Constant Value: "android.app.admin.action.DEVICE_POLICY_SET_RESULT"
POLICY_SET_RESULT_FAILURE
public static final int POLICY_SET_RESULT_FAILURE
Result code passed in to onPolicySetResult(Context, String, Bundle, TargetUser, int, PolicyUpdateReason) to indicate that the policy has NOT been
set, a PolicyUpdateReason will be passed in to onPolicySetResult(Context, String, Bundle, TargetUser, int, PolicyUpdateReason) to indicate
the reason.
Constant Value: -1 (0xffffffff)
Public constructors
PolicyUpdatesReceiver
public PolicyUpdatesReceiver ()
Public methods
onPolicyChanged
public void onPolicyChanged (Context context, String policyKey, Bundle additionalPolicyParams, TargetUser targetUser, PolicyUpdateReason reason)
Callback triggered when a policy previously set by the admin has changed.
Admins wishing to receive this callback should include
PolicyUpdatesReceiver#ACTION_DEVICE_POLICY_CHANGED in the intent filter for their
receiver in the manifest, the receiver must be protected by
Manifest.permission.BIND_DEVICE_ADMIN to ensure that only the system can
send updates.
| Parameters | |
|---|---|
context |
Context: the running context as per BroadcastReceiver.onReceive(Context, Intent)
This value cannot be null. |
policyKey |
String: Key to identify which policy this callback relates to.
This value cannot be null. |
additionalPolicyParams |
Bundle: Bundle containing additional params that may be required to
identify some of the policy
(e.g. PolicyUpdatesReceiver#EXTRA_PACKAGE_NAME
and PolicyUpdatesReceiver#EXTRA_PERMISSION_NAME).
Each policy will document the required additional params if
needed.
This value cannot be null. |
targetUser |
TargetUser: The TargetUser which this policy relates to.
This value cannot be null. |
reason |
PolicyUpdateReason: Indicates the reason the policy value has changed.
This value cannot be null. |
onPolicySetResult
public void onPolicySetResult (Context context, String policyKey, Bundle additionalPolicyParams, TargetUser targetUser, int result, PolicyUpdateReason reason)
Callback triggered after an admin has set a policy using one of the APIs in
DevicePolicyManager to notify the admin whether it has been successful or not.
Admins wishing to receive this callback should include
PolicyUpdatesReceiver#ACTION_DEVICE_POLICY_SET_RESULT in the intent filter for their
receiver in the manifest, the receiver must be protected by
Manifest.permission.BIND_DEVICE_ADMIN to ensure that only the system can
send updates.
| Parameters | |
|---|---|
context |
Context: the running context as per BroadcastReceiver.onReceive(Context, Intent)
This value cannot be null. |
policyKey |
String: Key to identify which policy this callback relates to.
This value cannot be null. |
additionalPolicyParams |
Bundle: Bundle containing additional params that may be required to
identify some of the policy
(e.g. PolicyUpdatesReceiver#EXTRA_PACKAGE_NAME
and PolicyUpdatesReceiver#EXTRA_PERMISSION_NAME).
Each policy will document the required additional params if
needed.
This value cannot be null. |
targetUser |
TargetUser: The TargetUser which this policy relates to.
This value cannot be null. |
result |
int: Indicates whether the policy has been set successfully,
(see PolicyUpdatesReceiver#POLICY_SET_RESULT_SUCCESS and
PolicyUpdatesReceiver#POLICY_SET_RESULT_FAILURE).
Value is either 0 or a combination of POLICY_SET_RESULT_SUCCESS, and POLICY_SET_RESULT_FAILURE |
reason |
PolicyUpdateReason: Indicates the reason the policy failed to apply, null if the policy was
applied successfully. |