RestrictionsReceiverpublic abstract class RestrictionsReceiver extends android.content.BroadcastReceiver 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
{@link 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
{@link RestrictionsManager#notifyPermissionResponse(String, PersistableBundle)}. |
Fields Summary |
---|
private static final String | TAG |
Methods Summary |
---|
public void | onReceive(android.content.Context context, android.content.Intent intent)Intercept standard Restrictions Provider broadcasts. Implementations
should not override this method; it is better to implement the
convenience callbacks for each action.
String action = intent.getAction();
if (RestrictionsManager.ACTION_REQUEST_PERMISSION.equals(action)) {
String packageName = intent.getStringExtra(RestrictionsManager.EXTRA_PACKAGE_NAME);
String requestType = intent.getStringExtra(RestrictionsManager.EXTRA_REQUEST_TYPE);
String requestId = intent.getStringExtra(RestrictionsManager.EXTRA_REQUEST_ID);
PersistableBundle request = (PersistableBundle)
intent.getParcelableExtra(RestrictionsManager.EXTRA_REQUEST_BUNDLE);
onRequestPermission(context, packageName, requestType, requestId, request);
}
| public abstract void | onRequestPermission(android.content.Context context, java.lang.String packageName, java.lang.String requestType, java.lang.String requestId, android.os.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 {@link 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.
|
|