Added in API level 29

RecoverableSecurityException

class RecoverableSecurityException : SecurityException, Parcelable
kotlin.Any
   ↳ kotlin.Throwable
   ↳ java.lang.Exception
   ↳ java.lang.RuntimeException
   ↳ java.lang.SecurityException
   ↳ android.app.RecoverableSecurityException

Specialization of SecurityException that contains additional information about how to involve the end user to recover from the exception.

This exception is only appropriate where there is a concrete action the user can take to recover and make forward progress, such as confirming or entering authentication credentials, or granting access.

If the receiving app is actively involved with the user, it should present the contained recovery details to help the user make forward progress.

Note: legacy code that receives this exception may treat it as a general SecurityException, and thus there is no guarantee that the messages contained will be shown to the end user.

Summary

Inherited constants
Public constructors
RecoverableSecurityException(cause: Throwable, userMessage: CharSequence, userAction: RemoteAction)

Create an instance ready to be thrown.

Public methods
Int

RemoteAction

Return primary action that will initiate the recovery.

CharSequence

Return short message describing the issue for end user audiences, which may be shown in a notification or dialog.

Unit
writeToParcel(dest: Parcel, flags: Int)

Properties
static Parcelable.Creator<RecoverableSecurityException!>

Public constructors

RecoverableSecurityException

Added in API level 29
RecoverableSecurityException(
    cause: Throwable,
    userMessage: CharSequence,
    userAction: RemoteAction)

Create an instance ready to be thrown.

Parameters
cause Throwable: original cause with details designed for engineering audiences. This value cannot be null.
userMessage CharSequence: short message describing the issue for end user audiences, which may be shown in a notification or dialog. This should be localized and less than 64 characters. For example: PIN required to access Document.pdf This value cannot be null.
userAction RemoteAction: primary action that will initiate the recovery. The title should be localized and less than 24 characters. For example: Enter PIN. This action must launch an activity that is expected to set Activity#setResult(int) before finishing to communicate the final status of the recovery. For example, apps that observe Activity#RESULT_OK may choose to immediately retry their operation. This value cannot be null.

Public methods

describeContents

Added in API level 29
fun describeContents(): Int
Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR

getUserAction

Added in API level 29
fun getUserAction(): RemoteAction

Return primary action that will initiate the recovery.

Return
RemoteAction This value cannot be null.

getUserMessage

Added in API level 29
fun getUserMessage(): CharSequence

Return short message describing the issue for end user audiences, which may be shown in a notification or dialog.

Return
CharSequence This value cannot be null.

writeToParcel

Added in API level 29
fun writeToParcel(
    dest: Parcel,
    flags: Int
): Unit
Parameters
dest Parcel: The Parcel in which the object should be written. This value cannot be null.
flags Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Properties

CREATOR

Added in API level 29
static val CREATOR: Parcelable.Creator<RecoverableSecurityException!>