CredentialProviderService
  public
  
  
  abstract
  class
  CredentialProviderService
  
  
  
  
  
  
  
  
  
  
    extends Service
  
  
  
  
  
  
| java.lang.Object | ||||
| ↳ | android.content.Context | |||
| ↳ | android.content.ContextWrapper | |||
| ↳ | android.app.Service | |||
| ↳ | android.service.credentials.CredentialProviderService | |||
Service to be extended by credential providers, in order to return user credentials to the framework.
Summary
| Constants | |
|---|---|
| String | EXTRA_BEGIN_GET_CREDENTIAL_REQUESTIntent extra: The  | 
| String | EXTRA_BEGIN_GET_CREDENTIAL_RESPONSEIntent extra: The result of an authentication flow, to be set on finish of the
  | 
| String | EXTRA_CREATE_CREDENTIAL_EXCEPTIONIntent extra: The failure exception set at the final stage of a create flow. | 
| String | EXTRA_CREATE_CREDENTIAL_REQUESTIntent extra: The  
 Type:  | 
| String | EXTRA_CREATE_CREDENTIAL_RESPONSEIntent extra: The result of a create flow operation, to be set on finish of the
  | 
| String | EXTRA_GET_CREDENTIAL_EXCEPTIONIntent extra: The failure exception set at the final stage of a get flow. | 
| String | EXTRA_GET_CREDENTIAL_REQUESTIntent extra: The  
 Type:  | 
| String | EXTRA_GET_CREDENTIAL_RESPONSEIntent extra: The result of a get credential flow operation, to be set on finish of the
  | 
| String | SERVICE_INTERFACEThe  | 
| String | SERVICE_META_DATAName under which a Credential Provider service component publishes information about itself. | 
| Inherited constants | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 
      From class
         android.app.Service
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
      From class
         android.content.Context
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
      From interface
         android.content.ComponentCallbacks2
 | 
| Public constructors | |
|---|---|
| 
      CredentialProviderService()
       | |
| Public methods | |
|---|---|
| 
        abstract
        
        
        
        
        void | 
      onBeginCreateCredential(BeginCreateCredentialRequest request, CancellationSignal cancellationSignal, OutcomeReceiver<BeginCreateCredentialResponse, CreateCredentialException> callback)
      Called by the android system to create a credential. | 
| 
        abstract
        
        
        
        
        void | 
      onBeginGetCredential(BeginGetCredentialRequest request, CancellationSignal cancellationSignal, OutcomeReceiver<BeginGetCredentialResponse, GetCredentialException> callback)
      Called by the android system to retrieve user credentials from the connected provider service. | 
| 
        
        
        
        final
        
        IBinder | 
      onBind(Intent intent)
      Return the communication channel to the service. | 
| 
        abstract
        
        
        
        
        void | 
      onClearCredentialState(ClearCredentialStateRequest request, CancellationSignal cancellationSignal, OutcomeReceiver<Void, ClearCredentialStateException> callback)
      Called by the android system to clear the credential state. | 
| 
        
        
        
        
        
        void | 
      onCreate()
      Called by the system when the service is first created. If you override this method you must call through to the superclass implementation. | 
| Inherited methods | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 
    From class
       
        
          android.app.Service
        
      
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
    From class
       
        
          android.content.ContextWrapper
        
      
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
    From class
       
        
          android.content.Context
        
      
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
    From class
       
        
          java.lang.Object
        
      
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
    From interface
       
        
          android.content.ComponentCallbacks2
        
      
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
    From interface
       
        
          android.content.ComponentCallbacks
        
      
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Constants
EXTRA_BEGIN_GET_CREDENTIAL_REQUEST
public static final String EXTRA_BEGIN_GET_CREDENTIAL_REQUEST
Intent extra: The BeginGetCredentialRequest attached with
 the pendingIntent that is invoked when the user selects an
 authentication entry (intending to unlock the provider app) on the UI.
 
When a provider app receives a BeginGetCredentialRequest through the
 CredentialProviderService.onBeginGetCredential call, it can construct the
 BeginGetCredentialResponse with either an authentication Action (if the app
 is locked), or a BeginGetCredentialResponse (if the app is unlocked). In the former
 case, i.e. the app is locked, user will be shown the authentication action. When selected,
 the underlying PendingIntent will be invoked which will lead the user to provider's
 unlock activity. This pending intent will also contain the original
 BeginGetCredentialRequest to be retrieved and processed after the unlock
 flow is complete.
 
After the app is unlocked, the BeginGetCredentialResponse must be constructed
 using a BeginGetCredentialResponse, which must be set on an Intent as an
 intent extra against CredentialProviderService#EXTRA_CREDENTIALS_RESPONSE_CONTENT}.
 This intent should then be set as a result through Activity.setResult(int)
 before finishing the activity.
 
 Type: BeginGetCredentialRequest
Constant Value: "android.service.credentials.extra.BEGIN_GET_CREDENTIAL_REQUEST"
EXTRA_BEGIN_GET_CREDENTIAL_RESPONSE
public static final String EXTRA_BEGIN_GET_CREDENTIAL_RESPONSE
Intent extra: The result of an authentication flow, to be set on finish of the
 Activity invoked through the PendingIntent set on
 an authentication Action, as part of the original
 BeginGetCredentialResponse. This result should contain the actual content,
 including credential entries and action entries, to be shown on the selector.
 
 Type: BeginGetCredentialResponse
Constant Value: "android.service.credentials.extra.BEGIN_GET_CREDENTIAL_RESPONSE"
EXTRA_CREATE_CREDENTIAL_EXCEPTION
public static final String EXTRA_CREATE_CREDENTIAL_EXCEPTION
Intent extra: The failure exception set at the final stage of a create flow.
 This exception is set at the finishing result of the Activity
 invoked by the PendingIntent , when a user selects the CreateEntry
 that contained the PendingIntent in question.
 
 Type: CreateCredentialException
Constant Value: "android.service.credentials.extra.CREATE_CREDENTIAL_EXCEPTION"
EXTRA_CREATE_CREDENTIAL_REQUEST
public static final String EXTRA_CREATE_CREDENTIAL_REQUEST
Intent extra: The CreateCredentialRequest attached with
 the pendingIntent that is invoked when the user selects a CreateEntry
 returned as part of the BeginCreateCredentialResponse
 
 Type: CreateCredentialRequest
Constant Value: "android.service.credentials.extra.CREATE_CREDENTIAL_REQUEST"
EXTRA_CREATE_CREDENTIAL_RESPONSE
public static final String EXTRA_CREATE_CREDENTIAL_RESPONSE
Intent extra: The result of a create flow operation, to be set on finish of the
 Activity invoked through the pendingIntent set on
 a CreateEntry.
 
 Type: CreateCredentialResponse
Constant Value: "android.service.credentials.extra.CREATE_CREDENTIAL_RESPONSE"
EXTRA_GET_CREDENTIAL_EXCEPTION
public static final String EXTRA_GET_CREDENTIAL_EXCEPTION
Intent extra: The failure exception set at the final stage of a get flow.
 This exception is set at the finishing result of the Activity
 invoked by the PendingIntent , when a user selects the CredentialEntry
 that contained the PendingIntent in question.
 
The result must be set through Activity.setResult(int) as an intent extra
 
 Type: GetCredentialException
Constant Value: "android.service.credentials.extra.GET_CREDENTIAL_EXCEPTION"
EXTRA_GET_CREDENTIAL_REQUEST
public static final String EXTRA_GET_CREDENTIAL_REQUEST
Intent extra: The GetCredentialRequest attached with
 the pendingIntent that is invoked when the user selects a CredentialEntry
 returned as part of the BeginGetCredentialResponse
 
 Type: GetCredentialRequest
Constant Value: "android.service.credentials.extra.GET_CREDENTIAL_REQUEST"
EXTRA_GET_CREDENTIAL_RESPONSE
public static final String EXTRA_GET_CREDENTIAL_RESPONSE
Intent extra: The result of a get credential flow operation, to be set on finish of the
 Activity invoked through the pendingIntent set on
 a CredentialEntry.
 
 Type: GetCredentialResponse
Constant Value: "android.service.credentials.extra.GET_CREDENTIAL_RESPONSE"
SERVICE_INTERFACE
public static final String SERVICE_INTERFACE
The Intent that must be declared as handled by the service. The service must also
 require the {android.Manifest.permission#BIND_CREDENTIAL_PROVIDER_SERVICE} permission
 so that only the system can bind to it.
Constant Value: "android.service.credentials.CredentialProviderService"
SERVICE_META_DATA
public static final String SERVICE_META_DATA
Name under which a Credential Provider service component publishes information
 about itself.  This meta-data must reference an XML resource containing
 an
 <
 tag.
 For example (AndroidManifest.xml):
 credential-provider>
 
 For example (xml/provider.xml):
 
 
Constant Value: "android.credentials.provider"
Public constructors
CredentialProviderService
public CredentialProviderService ()
Public methods
onBeginCreateCredential
public abstract void onBeginCreateCredential (BeginCreateCredentialRequest request, CancellationSignal cancellationSignal, OutcomeReceiver<BeginCreateCredentialResponse, CreateCredentialException> callback)
Called by the android system to create a credential.
| Parameters | |
|---|---|
| request | BeginCreateCredentialRequest: The credential creation request for the provider to handle.
 This value cannot benull. | 
| cancellationSignal | CancellationSignal: Signal for providers to listen to any cancellation requests from
                           the android system.
 This value cannot benull. | 
| callback | OutcomeReceiver: Object used to relay the response of the credential creation request.
 This value cannot benull. | 
onBeginGetCredential
public abstract void onBeginGetCredential (BeginGetCredentialRequest request, CancellationSignal cancellationSignal, OutcomeReceiver<BeginGetCredentialResponse, GetCredentialException> callback)
Called by the android system to retrieve user credentials from the connected provider service.
This API denotes a query stage request for getting user's credentials from a given
 credential provider. The request contains a list of
 BeginGetCredentialOption that have parameters to be used for
 populating candidate credentials, as a list of CredentialEntry to be set
 on the BeginGetCredentialResponse. This list is then shown to the user on a
 selector.
 
If a PendingIntent is set on a CredentialEntry, and the user selects that
 entry, a GetCredentialRequest with all parameters needed to get the actual
 Credential will be sent as part of the Intent fired
 through the PendingIntent.
| Parameters | |
|---|---|
| request | BeginGetCredentialRequest: the request for the provider to handle
 This value cannot benull. | 
| cancellationSignal | CancellationSignal: signal for providers to listen to any cancellation requests from
                           the android system
 This value cannot benull. | 
| callback | OutcomeReceiver: object used to relay the response of the credentials request
 This value cannot benull. | 
onBind
public final IBinder onBind (Intent intent)
Return the communication channel to the service.  May return null if
 clients can not bind to the service.  The returned
 IBinder is usually for a complex interface
 that has been described using
 aidl.
 
Note that unlike other application components, calls on to the IBinder interface returned here may not happen on the main thread of the process. More information about the main thread can be found in Processes and Threads.
| Parameters | |
|---|---|
| intent | Intent: This value cannot benull. | 
| Returns | |
|---|---|
| IBinder | This value cannot be null. | 
onClearCredentialState
public abstract void onClearCredentialState (ClearCredentialStateRequest request, CancellationSignal cancellationSignal, OutcomeReceiver<Void, ClearCredentialStateException> callback)
Called by the android system to clear the credential state. This api isinvoked by developers after users sign out of an app, with an intention to clear any stored credential session that providers have retained. As a provider, you must clear any credential state, if maintained. For e.g. a provider may have stored an active credential session that is used to limit or rank sign-in options for future credential retrieval flows. When a user signs out of the app, such state should be cleared and an exhaustive list of credentials must be presented to the user on subsequent credential retrieval flows.
| Parameters | |
|---|---|
| request | ClearCredentialStateRequest: The clear credential request for the provider to handle.
 This value cannot benull. | 
| cancellationSignal | CancellationSignal: Signal for providers to listen to any cancellation requests from
                           the android system.
 This value cannot benull. | 
| callback | OutcomeReceiver: Object used to relay the result of the request.
 This value cannot benull. | 
onCreate
public void onCreate ()
Called by the system when the service is first created. Do not call this method directly. If you override this method you must call through to the superclass implementation.
