RecoverableSecurityException  |  API reference  |  Android Developers (original) (raw)


public final class RecoverableSecurityException
extends [SecurityException](/reference/java/lang/SecurityException) implements[Parcelable](/reference/android/os/Parcelable)

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
java.lang.SecurityException

Specialization of [SecurityException](/reference/java/lang/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](/reference/java/lang/SecurityException), and thus there is no guarantee that the messages contained will be shown to the end user.

Summary

Inherited constants
From interfaceandroid.os.Parcelable int CONTENTS_FILE_DESCRIPTOR Descriptor bit used with describeContents(): indicates that the Parcelable object's flattened representation includes a file descriptor. int PARCELABLE_WRITE_RETURN_VALUE Flag for use with writeToParcel(Parcel, int): the object being written is a return value, that is the result of a function such as "Parcelable someFunction()", "void someFunction(out Parcelable)", or "void someFunction(inout Parcelable)".
Fields
public static finalCreator<RecoverableSecurityException> CREATOR
Public constructors
RecoverableSecurityException(Throwable cause, CharSequence userMessage, RemoteAction userAction) Create an instance ready to be thrown.
Public methods
int describeContents() Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
RemoteAction getUserAction() Return primary action that will initiate the recovery.
CharSequence getUserMessage() Return short message describing the issue for end user audiences, which may be shown in a notification or dialog.
void writeToParcel(Parcel dest, int flags) Flatten this object in to a Parcel.
Inherited methods
From class java.lang.Throwable final void addSuppressed(Throwable exception) Appends the specified exception to the exceptions that were suppressed in order to deliver this exception. Throwable fillInStackTrace() Fills in the execution stack trace. Throwable getCause() Returns the cause of this throwable or null if the cause is nonexistent or unknown. String getLocalizedMessage() Creates a localized description of this throwable. String getMessage() Returns the detail message string of this throwable. StackTraceElement[] getStackTrace() Provides programmatic access to the stack trace information printed byprintStackTrace(). finalThrowable[] getSuppressed() Returns an array containing all of the exceptions that were suppressed, typically by the try-with-resources statement, in order to deliver this exception. Throwable initCause(Throwable cause) Initializes the cause of this throwable to the specified value. void printStackTrace() Prints this throwable and its backtrace to the standard error stream. void printStackTrace(PrintWriter s) Prints this throwable and its backtrace to the specified print writer. void printStackTrace(PrintStream s) Prints this throwable and its backtrace to the specified print stream. void setStackTrace(StackTraceElement[] stackTrace) Sets the stack trace elements that will be returned bygetStackTrace() and printed by printStackTrace() and related methods. String toString() Returns a short description of this throwable.
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. finalClass<?> 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.
From interface android.os.Parcelable abstract int describeContents() Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. abstract void writeToParcel(Parcel dest, int flags) Flatten this object in to a Parcel.

Fields

Public constructors

RecoverableSecurityException

public RecoverableSecurityException (Throwable cause, CharSequence userMessage, RemoteAction userAction)

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 setActivity.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

public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of [writeToParcel(Parcel,int)](/reference/android/os/Parcelable#writeToParcel%28android.os.Parcel,%20int%29), the return value of this method must include the[CONTENTS_FILE_DESCRIPTOR](/reference/android/os/Parcelable#CONTENTS%5FFILE%5FDESCRIPTOR) bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

getUserAction

public RemoteAction getUserAction ()

Return primary action that will initiate the recovery.

Returns
RemoteAction This value cannot be null.

getUserMessage

public CharSequence getUserMessage ()

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

Returns
CharSequence This value cannot be null.