UnsafeIntentLaunchViolation Class

Definition

Violation raised when your app launches an Intent which originated from outside your app.

[Android.Runtime.Register("android/os/strictmode/UnsafeIntentLaunchViolation", ApiSince=31, DoNotGenerateAcw=true)]
public sealed class UnsafeIntentLaunchViolation : Android.OS.Strictmode.Violation
[<Android.Runtime.Register("android/os/strictmode/UnsafeIntentLaunchViolation", ApiSince=31, DoNotGenerateAcw=true)>]
type UnsafeIntentLaunchViolation = class
    inherit Violation
Inheritance
UnsafeIntentLaunchViolation
Attributes

Remarks

Violation raised when your app launches an Intent which originated from outside your app.

Violations may indicate security vulnerabilities in the design of your app, where a malicious app could trick you into granting Uri permissions or launching unexported components. Here are some typical design patterns that can be used to safely resolve these violations: <ul> <li>The ideal approach is to migrate to using a PendingIntent, which ensures that your launch is performed using the identity of the original creator, completely avoiding the security issues described above. <li>If using a PendingIntent isn't feasible, an alternative approach is to create a brand new Intent and carefully copy only specific values from the original Intent after careful validation. </ul>

Note that this <em>may</em> detect false-positives if your app sends itself an Intent which is first routed through the OS, such as using Intent#createChooser. In these cases, careful inspection is required to determine if the return point into your app is appropriately protected with a signature permission or marked as unexported. If the return point is not protected, your app is likely vulnerable to malicious apps.

Java documentation for android.os.strictmode.UnsafeIntentLaunchViolation.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Constructors

UnsafeIntentLaunchViolation(Intent)

Fields

is_generated (Inherited from Throwable)

Properties

Cause

Returns the cause of this throwable or null if the cause is nonexistent or unknown.

(Inherited from Throwable)
Class (Inherited from Throwable)
Handle

The handle to the underlying Android instance.

(Inherited from Throwable)
Intent

Return the Intent which caused this violation to be raised.

JniIdentityHashCode (Inherited from Throwable)
JniPeerMembers
LocalizedMessage

Creates a localized description of this throwable.

(Inherited from Throwable)
Message

Returns the detail message string of this throwable.

(Inherited from Throwable)
PeerReference (Inherited from Throwable)
StackTrace (Inherited from Throwable)
ThresholdClass (Inherited from Violation)
ThresholdType (Inherited from Violation)

Methods

AddSuppressed(Throwable)

Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.

(Inherited from Throwable)
Dispose() (Inherited from Throwable)
Dispose(Boolean) (Inherited from Throwable)
FillInStackTrace()

Fills in the execution stack trace.

(Inherited from Throwable)
GetStackTrace()

Provides programmatic access to the stack trace information printed by #printStackTrace().

(Inherited from Throwable)
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.

(Inherited from Throwable)
InitCause(Throwable)

Initializes the cause of this throwable to the specified value.

(Inherited from Throwable)
PrintStackTrace()

Prints this throwable and its backtrace to the standard error stream.

(Inherited from Throwable)
PrintStackTrace(PrintStream)

Prints this throwable and its backtrace to the specified print stream.

(Inherited from Throwable)
PrintStackTrace(PrintWriter)

Prints this throwable and its backtrace to the specified print writer.

(Inherited from Throwable)
SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

(Inherited from Throwable)
SetStackTrace(StackTraceElement[])

Sets the stack trace elements that will be returned by #getStackTrace() and printed by #printStackTrace() and related methods.

(Inherited from Throwable)
ToString() (Inherited from Throwable)
UnregisterFromRuntime() (Inherited from Throwable)

Explicit Interface Implementations

IJavaPeerable.Disposed() (Inherited from Throwable)
IJavaPeerable.DisposeUnlessReferenced() (Inherited from Throwable)
IJavaPeerable.Finalized() (Inherited from Throwable)
IJavaPeerable.JniManagedPeerState (Inherited from Throwable)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from Throwable)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from Throwable)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from Throwable)

Extension Methods

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
GetJniTypeName(IJavaPeerable)

Applies to