Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
    
    
  
  
    
    
  
  
RestrictionsReceiver
  public
  
  
  abstract
  class
  RestrictionsReceiver
  
  
  
  
    extends 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
 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
Inherited methods | 
  
    From class
      
        
          android.content.BroadcastReceiver
        
      
    
    
      
  
  
  
    
        
        
        
        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.
        
    
 
      
     | 
   
  
     
   
 | 
  
    From class
      
        
          java.lang.Object
        
      
    
    
      
  
  
  
    
        
        
        
        
        
        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
    
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
    
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. | 
      
    
  
 
 
 
  
  
    
  
 
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  Last updated 2025-02-10 UTC.
  
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[]]