IntentCompat

public final class IntentCompat
extends Object

java.lang.Object
   ↳ androidx.core.content.IntentCompat


Helper for accessing features in Intent.

Summary

Constants

String ACTION_CREATE_REMINDER

Activity Action: Creates a reminder.

String CATEGORY_LEANBACK_LAUNCHER

Indicates an activity optimized for Leanback mode, and that should be displayed in the Leanback launcher.

String EXTRA_HTML_TEXT

A constant String that is associated with the Intent, used with Intent.ACTION_SEND to supply an alternative to Intent.EXTRA_TEXT as HTML formatted text.

String EXTRA_START_PLAYBACK

Used as a boolean extra field in Intent.ACTION_VIEW intents to indicate that content should immediately be played without any intermediate screens that require additional user input, e.g.

String EXTRA_TIME

Optional extra specifying a time in milliseconds since the Epoch.

Public methods

static Intent createManageUnusedAppRestrictionsIntent(Context context, String packageName)

Make an Intent to redirect the user to UI to manage their unused app restriction settings for a particular app (e.g.

static Intent makeMainSelectorActivity(String selectorAction, String selectorCategory)

Make an Intent for the main activity of an application, without specifying a specific activity to run but giving a selector to find the activity.

Inherited methods

Constants

ACTION_CREATE_REMINDER

public static final String ACTION_CREATE_REMINDER

Activity Action: Creates a reminder.

Input: Intent.EXTRA_TITLE The title of the reminder that will be shown to the user. Intent.EXTRA_TEXT The reminder text that will be shown to the user. The intent should at least specify a title or a text. EXTRA_TIME The time when the reminder will be shown to the user. The time is specified in milliseconds since the Epoch (optional).

Output: Nothing.

Constant Value: "android.intent.action.CREATE_REMINDER"

CATEGORY_LEANBACK_LAUNCHER

public static final String CATEGORY_LEANBACK_LAUNCHER

Indicates an activity optimized for Leanback mode, and that should be displayed in the Leanback launcher.

Constant Value: "android.intent.category.LEANBACK_LAUNCHER"

EXTRA_HTML_TEXT

public static final String EXTRA_HTML_TEXT

A constant String that is associated with the Intent, used with Intent.ACTION_SEND to supply an alternative to Intent.EXTRA_TEXT as HTML formatted text. Note that you must also supply Intent.EXTRA_TEXT.

Constant Value: "android.intent.extra.HTML_TEXT"

EXTRA_START_PLAYBACK

public static final String EXTRA_START_PLAYBACK

Used as a boolean extra field in Intent.ACTION_VIEW intents to indicate that content should immediately be played without any intermediate screens that require additional user input, e.g. a profile selection screen or a details page.

Constant Value: "android.intent.extra.START_PLAYBACK"

EXTRA_TIME

public static final String EXTRA_TIME

Optional extra specifying a time in milliseconds since the Epoch. The value must be non-negative.

Type: long

Constant Value: "android.intent.extra.TIME"

Public methods

createManageUnusedAppRestrictionsIntent

public static Intent createManageUnusedAppRestrictionsIntent (Context context, 
                String packageName)

Make an Intent to redirect the user to UI to manage their unused app restriction settings for a particular app (e.g. permission revocation, app hibernation).

Note: developers must first call PackageManagerCompat.getUnusedAppRestrictionsStatus(Context) to make sure that unused app restriction features are available on the device before attempting to create an intent using this method. Likewise, the returned intent must be sent using Activity.startActivityForResult(Intent, int), _not_ Activity.startActivity(Intent).

Any return value of PackageManagerCompat.getUnusedAppRestrictionsStatus(Context) besides UnusedAppRestrictionsConstants.FEATURE_NOT_AVAILABLE indicates that at least one unused app restriction feature is available on the device. If the return value _is_ UnusedAppRestrictionsConstants.FEATURE_NOT_AVAILABLE, this method will throw an UnsupportedOperationException.

If the return value is UnusedAppRestrictionsConstants.ERROR, then there was an issue when fetching whether the unused app restriction features on the device are enabled for this application. However, this method will still return an intent to redirect the user.

Compatibility behavior:

  • SDK 31 and above, this method generates an intent with action Intent .ACTION_APPLICATION_DETAILS_SETTINGS and packageName as data.
  • SDK 30, this method generates an intent with action Intent .ACTION_AUTO_REVOKE_PERMISSIONS and packageName as data.
  • SDK 23 through 29, this method will generate an intent with action Intent.ACTION_AUTO_REVOKE_PERMISSIONS and the package as the app with the Verifier role that can resolve the intent.
  • SDK 22 and below, this method will throw an UnsupportedOperationException

Parameters
context Context: The Context of the calling application.

packageName String: The package name of the calling application.

Returns
Intent Returns a newly created Intent that can be used to launch an activity where users can manage unused app restrictions for a specific app.

makeMainSelectorActivity

public static Intent makeMainSelectorActivity (String selectorAction, 
                String selectorCategory)

Make an Intent for the main activity of an application, without specifying a specific activity to run but giving a selector to find the activity. This results in a final Intent that is structured the same as when the application is launched from Home. For anything else that wants to launch an application in the same way, it is important that they use an Intent structured the same way, and can use this function to ensure this is the case.

The returned Intent has Intent.ACTION_MAIN as its action, and includes the category Intent.CATEGORY_LAUNCHER. This does not have Intent.FLAG_ACTIVITY_NEW_TASK set, though typically you will want to do that through Intent.addFlags(int) on the returned Intent.

Parameters
selectorAction