belongs to Maven artifact com.android.support:support-compat:28.0.0-alpha1
PermissionChecker
  public
  
  final
  
  class
  PermissionChecker
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.support.v4.content.PermissionChecker | 
This class provides permission check APIs that verify both the permission and the associated app op for this permission if such is defined.
 In the new permission model permissions with protection level
 dangerous are runtime permissions. For apps targeting M
 and above the user may not grant such permissions or revoke
 them at any time. For apps targeting API lower than M
 these permissions are always granted as such apps do not expect
 permission revocations and would crash. Therefore, when the
 user disables a permission for a legacy app in the UI the
 platform disables the APIs guarded by this permission making
 them a no-op which is doing nothing or returning an empty
 result or default error.
 
It is important that when you perform an operation on behalf of another app you use these APIs to check for permissions as the app may be a legacy app that does not participate in the new permission model for which the user had disabled the "permission" which is achieved by disallowing the corresponding app op.
Summary
| Constants | |
|---|---|
| int | PERMISSION_DENIEDPermission result: The permission is denied. | 
| int | PERMISSION_DENIED_APP_OPPermission result: The permission is denied because the app op is not allowed. | 
| int | PERMISSION_GRANTEDPermission result: The permission is granted. | 
| Public methods | |
|---|---|
| 
        
        
        static
        
        
        int | 
      checkCallingOrSelfPermission(Context context, String permission)
      Checks whether the IPC you are handling or your app has a given permission and whether the app op that corresponds to this permission is allowed. | 
| 
        
        
        static
        
        
        int | 
      checkCallingPermission(Context context, String permission, String packageName)
      Checks whether the IPC you are handling has a given permission and whether the app op that corresponds to this permission is allowed. | 
| 
        
        
        static
        
        
        int | 
      checkPermission(Context context, String permission, int pid, int uid, String packageName)
      Checks whether a given package in a UID and PID has a given permission and whether the app op that corresponds to this permission is allowed. | 
| 
        
        
        static
        
        
        int | 
      checkSelfPermission(Context context, String permission)
      Checks whether your app has a given permission and whether the app op that corresponds to this permission is allowed. | 
| Inherited methods | |
|---|---|
|  From
class 
  
    java.lang.Object
  
 | |
Constants
PERMISSION_DENIED
int PERMISSION_DENIED
Permission result: The permission is denied.
Constant Value: -1 (0xffffffff)
PERMISSION_DENIED_APP_OP
int PERMISSION_DENIED_APP_OP
Permission result: The permission is denied because the app op is not allowed.
Constant Value: -2 (0xfffffffe)
PERMISSION_GRANTED
int PERMISSION_GRANTED
Permission result: The permission is granted.
Constant Value: 0 (0x00000000)
Public methods
checkCallingOrSelfPermission
int checkCallingOrSelfPermission (Context context, String permission)
Checks whether the IPC you are handling or your app has a given permission and whether the app op that corresponds to this permission is allowed.
| Parameters | |
|---|---|
| context | Context: Context for accessing resources. | 
| permission | String: The permission to check. | 
| Returns | |
|---|---|
| int | The permission check result which is either PERMISSION_GRANTEDorPERMISSION_DENIEDorPERMISSION_DENIED_APP_OP. | 
checkCallingPermission
int checkCallingPermission (Context context, String permission, String packageName)
Checks whether the IPC you are handling has a given permission and whether the app op that corresponds to this permission is allowed.
| Parameters | |
|---|---|
| context | Context: Context for accessing resources. | 
| permission | String: The permission to check. | 
| packageName | String: The package name making the IPC. If null the
     the first package for the calling UID will be used. | 
| Returns | |
|---|---|
| int | The permission check result which is either PERMISSION_GRANTEDorPERMISSION_DENIEDorPERMISSION_DENIED_APP_OP. | 
checkPermission
int checkPermission (Context context, String permission, int pid, int uid, String packageName)
Checks whether a given package in a UID and PID has a given permission and whether the app op that corresponds to this permission is allowed.
| Parameters | |
|---|---|
| context | Context: Context for accessing resources. | 
| permission | String: The permission to check. | 
| pid | int: The process id for which to check. | 
| uid | int: The uid for which to check. | 
| packageName | String: The package name for which to check. If null the
     the first package for the calling UID will be used. | 
| Returns | |
|---|---|
| int | The permission check result which is either PERMISSION_GRANTEDorPERMISSION_DENIEDorPERMISSION_DENIED_APP_OP. | 
checkSelfPermission
int checkSelfPermission (Context context, String permission)
Checks whether your app has a given permission and whether the app op that corresponds to this permission is allowed.
| Parameters | |
|---|---|
| context | Context: Context for accessing resources. | 
| permission | String: The permission to check. | 
| Returns | |
|---|---|
| int | The permission check result which is either PERMISSION_GRANTEDorPERMISSION_DENIEDorPERMISSION_DENIED_APP_OP. | 
- Interfaces
- Classes
