# ProviderEventsApiProvider

Artifact: [androidx.credentials.providerevents:providerevents](https://developer.android.com/jetpack/androidx/releases/credentials-providerevents) [View Source](https://cs.android.com/search?q=file:androidx/credentials/providerevents/ProviderEventsApiProvider.kt+class:androidx.credentials.providerevents.ProviderEventsApiProvider) Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/credentials-providerevents#1.0.0-beta01)

*** ** * ** ***


```
interface ProviderEventsApiProvider
```

<br />

*** ** * ** ***

Provider interface to be implemented by the OEMs that will support provider events APIs.

## Summary

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/ProviderEventsApiProvider#isAvailable()()` Returns true if the provider is available on this device, or otherwise false. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/ProviderEventsApiProvider#onClearExport(androidx.credentials.providerevents.transfer.ClearExportRequest,java.util.concurrent.Executor,androidx.credentials.CredentialManagerCallback)( request: https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/ClearExportRequest, executor: https://developer.android.com/reference/java/util/concurrent/Executor.html, callback: https://developer.android.com/reference/kotlin/androidx/credentials/CredentialManagerCallback<https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/ClearExportResponse, https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/exception/ClearExportException> )` Invoked on a request to clear all accounts registered for exporting credentials. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/ProviderEventsApiProvider#onImportCredentials(android.content.Context,androidx.credentials.providerevents.transfer.ImportCredentialsRequest,android.os.CancellationSignal,java.util.concurrent.Executor,androidx.credentials.CredentialManagerCallback)( context: https://developer.android.com/reference/android/content/Context.html, request: https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/ImportCredentialsRequest, cancellationSignal: https://developer.android.com/reference/android/os/CancellationSignal.html?, executor: https://developer.android.com/reference/java/util/concurrent/Executor.html, callback: https://developer.android.com/reference/kotlin/androidx/credentials/CredentialManagerCallback<https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/ProviderImportCredentialsResponse, https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/exception/ImportCredentialsException> )` Invoked on a request to import credentials. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/ProviderEventsApiProvider#onRegisterExport(androidx.credentials.providerevents.transfer.RegisterExportRequest,java.util.concurrent.Executor,androidx.credentials.CredentialManagerCallback)( request: https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/RegisterExportRequest, executor: https://developer.android.com/reference/java/util/concurrent/Executor.html, callback: https://developer.android.com/reference/kotlin/androidx/credentials/CredentialManagerCallback<https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/RegisterExportResponse, https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/exception/RegisterExportException> )` Invoked on a request to register accounts capable for exporting credentials. |

## Public functions

### isAvailable

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/credentials-providerevents#1.0.0-beta01)

```
fun isAvailable(): Boolean
```

Returns true if the provider is available on this device, or otherwise false.

### onClearExport

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/credentials-providerevents#1.0.0-beta01)

```
fun onClearExport(
    request: ClearExportRequest,
    executor: Executor,
    callback: CredentialManagerCallback<ClearExportResponse, ClearExportException>
): Unit
```

Invoked on a request to clear all accounts registered for exporting credentials.

| Parameters |
|---|---|
| `request: https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/ClearExportRequest` | the request for clearing all export entries |
| `executor: https://developer.android.com/reference/java/util/concurrent/Executor.html` | the callback will take place on this executor |
| `callback: https://developer.android.com/reference/kotlin/androidx/credentials/CredentialManagerCallback<https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/ClearExportResponse, https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/exception/ClearExportException>` | the callback invoked when the request succeeds or fails |

### onImportCredentials

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/credentials-providerevents#1.0.0-beta01)

```
fun onImportCredentials(
    context: Context,
    request: ImportCredentialsRequest,
    cancellationSignal: CancellationSignal?,
    executor: Executor,
    callback: CredentialManagerCallback<ProviderImportCredentialsResponse, ImportCredentialsException>
): Unit
```

Invoked on a request to import credentials.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/android/content/Context.html` | the client calling context used to potentially launch any UI |
| `request: https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/ImportCredentialsRequest` | the request for importing the credentials |
| `cancellationSignal: https://developer.android.com/reference/android/os/CancellationSignal.html?` | an optional signal that allows for cancelling this call |
| `executor: https://developer.android.com/reference/java/util/concurrent/Executor.html` | the callback will take place on this executor |
| `callback: https://developer.android.com/reference/kotlin/androidx/credentials/CredentialManagerCallback<https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/ProviderImportCredentialsResponse, https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/exception/ImportCredentialsException>` | the callback invoked when the request succeeds or fails |

### onRegisterExport

Added in [1.0.0-beta01](https://developer.android.com/jetpack/androidx/releases/credentials-providerevents#1.0.0-beta01)

```
fun onRegisterExport(
    request: RegisterExportRequest,
    executor: Executor,
    callback: CredentialManagerCallback<RegisterExportResponse, RegisterExportException>
): Unit
```

Invoked on a request to register accounts capable for exporting credentials.

| Parameters |
|---|---|
| `request: https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/RegisterExportRequest` | the request for registering export entries |
| `executor: https://developer.android.com/reference/java/util/concurrent/Executor.html` | the callback will take place on this executor |
| `callback: https://developer.android.com/reference/kotlin/androidx/credentials/CredentialManagerCallback<https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/transfer/RegisterExportResponse, https://developer.android.com/reference/kotlin/androidx/credentials/providerevents/exception/RegisterExportException>` | the callback invoked when the request succeeds or fails |