RestrictionsReceiver

public abstract class RestrictionsReceiver
extends BroadcastReceiver

java.lang.Object
   ↳ android.content.BroadcastReceiver
     ↳ android.service.restrictions.RestrictionsReceiver


Abstract implementation of a Restrictions Provider BroadcastReceiver. To implement a Restrictions Provider, extend from this class and implement the abstract methods. Export this receiver in the manifest. A profile owner device admin can then register this component as a Restrictions Provider using DevicePolicyManager#setRestrictionsProvider(ComponentName, ComponentName).

The function of a Restrictions Provider is to transport permission requests from apps on this device to an administrator (most likely on a remote device or computer) and deliver back responses. The response should be sent back to the app via RestrictionsManager#notifyPermissionResponse(String, PersistableBundle).

Summary

Public constructors

RestrictionsReceiver()

Public methods

void onReceive(Context context, Intent intent)

Intercept standard Restrictions Provider broadcasts.

abstract void onRequestPermission(Context context, String packageName, String requestType, String requestId, PersistableBundle request)

An asynchronous permission request made by an application for an operation that requires authorization by a local or remote administrator other than the user.

Inherited methods

Public constructors

RestrictionsReceiver

public RestrictionsReceiver ()

Public methods

onReceive

Added in API level 21
public void onReceive (Context context, 
                Intent intent)

Intercept standard Restrictions Provider broadcasts. Implementations should not override this method; it is better to implement the convenience callbacks for each action.

Parameters
context Context: The Context in which the receiver is running.

intent Intent: The Intent being received.

onRequestPermission

Added in API level 21
public abstract void onRequestPermission (Context context, 
                String packageName, 
                String requestType, 
                String requestId, 
                PersistableBundle request)

An asynchronous permission request made by an application for an operation that requires authorization by a local or remote administrator other than the user. The Restrictions Provider should transfer the request to the administrator and deliver back a response, when available. The calling application is aware that the response could take an indefinite amount of time.

If the request bundle contains the key RestrictionsManager#REQUEST_KEY_NEW_REQUEST, then a new request must be sent. Otherwise the provider can look up any previous response to the same requestId and return the cached response.

Parameters
context Context

packageName String: the application requesting permission.

requestType String: the type of request, which determines the content and presentation of the request data.

requestId String

request PersistableBundle: the request data bundle containing at a minimum a request id.