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

final void abortBroadcast()

Sets the flag indicating that this receiver should abort the current broadcast; only works with broadcasts sent through Context.sendOrderedBroadcast.

final void clearAbortBroadcast()

Clears the flag indicating that this receiver should abort the current broadcast.

final boolean getAbortBroadcast()

Returns the flag indicating whether or not this receiver should abort the current broadcast.

final boolean getDebugUnregister()

Return the last value given to setDebugUnregister(boolean).

final int getResultCode()

Retrieve the current result code, as set by the previous receiver.

final String getResultData()

Retrieve the current result data, as set by the previous receiver.

final Bundle getResultExtras(boolean makeMap)

Retrieve the current result extra data, as set by the previous receiver.

String getSentFromPackage()

Returns the package name of the app that initially sent this broadcast.

int getSentFromUid()

Returns the uid of the app that initially sent this broadcast.

final BroadcastReceiver.PendingResult goAsync()

This can be called by an application in onReceive(Context, Intent) to allow it to keep the broadcast active after returning from that function.

final boolean isInitialStickyBroadcast()

Returns true if the receiver is currently processing the initial value of a sticky broadcast -- that is, the value that was last broadcast and is currently held in the sticky cache, so this is not directly the result of a broadcast right now.

final boolean isOrderedBroadcast()

Returns true if the receiver is currently processing an ordered broadcast.

abstract void onReceive(Context context, Intent intent)

This method is called when the BroadcastReceiver is receiving an Intent broadcast.

IBinder peekService(Context myContext, Intent service)

Provide a binder to an already-bound service.

final void setDebugUnregister(boolean debug)

Control inclusion of debugging help for mismatched calls to Context.registerReceiver().

final void setOrderedHint(boolean isOrdered)

For internal use, sets the hint about whether this BroadcastReceiver is running in ordered mode.

final void setResult(int code, String data, Bundle extras)

Change all of the result data returned from this broadcasts; only works with broadcasts sent through Context.sendOrderedBroadcast.

final void setResultCode(int code)

Change the current result code of this broadcast; only works with broadcasts sent through Context.sendOrderedBroadcast.

final void setResultData(String data)

Change the current result data of this broadcast; only works with broadcasts sent through Context.sendOrderedBroadcast.

final void setResultExtras(Bundle extras)

Change the current result extras of this broadcast; only works with broadcasts sent through Context.sendOrderedBroadcast.

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

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.