UnsafeIntentLaunchViolation Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
- 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 |
Class | (Inherited from Throwable) |
Handle |
The handle to the underlying Android instance. (Inherited from Throwable) |
Intent |
Return the |
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
|
GetSuppressed() |
Returns an array containing all of the exceptions that were
suppressed, typically by the |
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
|
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) |