AssistContent


public class AssistContent
extends Object implements Parcelable

java.lang.Object
   ↳ android.app.assist.AssistContent


Holds information about the content an application is viewing, to hand to an assistant at the user's request. This is filled in by Activity.onProvideAssistContent.

Summary

Constants

String EXTRA_APP_FUNCTION_DATA

Extra for a Bundle that provides contextual AppFunction's information about the content currently being viewed in the application.

Inherited constants

Fields

public static final Creator<AssistContent> CREATOR

Public constructors

AssistContent()

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

ClipData getClipData()

Return the current setClipData(ClipData), which you can modify in-place.

Bundle getExtras()

Return Bundle for extra vendor-specific data that can be modified and examined.

Intent getIntent()

Returns the current setIntent(Intent) if one is set, else the default Intent obtained from Activity.getIntent.

Uri getSessionTransferUri()

Return the content's session transfer web URI as per setSessionTransferUri(android.net.Uri), or null if there is none.

String getStructuredData()

Returns the current setStructuredData(String).

Uri getWebUri()

Return the content's web URI as per setWebUri(android.net.Uri), or null if there is none.

boolean isAppProvidedIntent()

Returns whether or not the current Intent was explicitly provided in Activity.onProvideAssistContent.

boolean isAppProvidedWebUri()

Returns whether or not the current getWebUri() was explicitly provided in Activity.onProvideAssistContent.

void setClipData(ClipData clip)

Optional additional content items that are involved with the current UI.

void setIntent(Intent intent)

Sets the Intent associated with the content, describing the current top-level context of the activity.

void setSessionTransferUri(Uri uri)

This method can be used to provide a Uri which will be utilized when transitioning a user's session to another surface.

void setStructuredData(String structuredData)

Sets optional structured data regarding the content being viewed.

void setWebUri(Uri uri)

Set a web URI associated with the current data being shown to the user.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Constants

EXTRA_APP_FUNCTION_DATA

Added in API level 36
public static final String EXTRA_APP_FUNCTION_DATA

Extra for a Bundle that provides contextual AppFunction's information about the content currently being viewed in the application.

This extra can be optionally supplied in the AssistContent.getExtras() bundle.

The schema of the Bundle in this extra is defined in the AppFunction SDK.

See also:

Constant Value: "android.app.assist.extra.APP_FUNCTION_DATA"

Fields

CREATOR

Added in API level 23
public static final Creator<AssistContent> CREATOR

Public constructors

AssistContent

Added in API level 23
public AssistContent ()

Public methods

describeContents

Added in API level 23
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(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR 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

getClipData

Added in API level 23
public ClipData getClipData ()

Return the current setClipData(ClipData), which you can modify in-place.

Returns
ClipData

getExtras

Added in API level 23
public Bundle getExtras ()

Return Bundle for extra vendor-specific data that can be modified and examined.

Returns
Bundle

getIntent

Added in API level 23
public Intent getIntent ()

Returns the current setIntent(Intent) if one is set, else the default Intent obtained from Activity.getIntent. Can be modified in-place.

Returns
Intent

getSessionTransferUri

public Uri getSessionTransferUri ()

Return the content's session transfer web URI as per setSessionTransferUri(android.net.Uri), or null if there is none.

Returns
Uri

getStructuredData

Added in API level 23
public String getStructuredData ()

Returns the current setStructuredData(String).

Returns
String

getWebUri

Added in API level 23
public Uri getWebUri ()

Return the content's web URI as per setWebUri(android.net.Uri), or null if there is none.

Returns
Uri

isAppProvidedIntent

Added in API level 23
public boolean isAppProvidedIntent ()

Returns whether or not the current Intent was explicitly provided in Activity.onProvideAssistContent. If not, the Intent was automatically set based on Activity.getIntent.

Returns
boolean

isAppProvidedWebUri

Added in API level 24
public boolean isAppProvidedWebUri ()

Returns whether or not the current getWebUri() was explicitly provided in Activity.onProvideAssistContent. If not, the Intent was automatically set based on Activity.getIntent.

Returns
boolean

setClipData

Added in API level 23
public void setClipData (ClipData clip)

Optional additional content items that are involved with the current UI. Access to this content will be granted to the assistant as if you are sending it through an Intent with Intent.FLAG_GRANT_READ_URI_PERMISSION.

Parameters
clip ClipData

setIntent

Added in API level 23
public void setIntent (Intent intent)

Sets the Intent associated with the content, describing the current top-level context of the activity. If this contains a reference to a piece of data related to the activity, be sure to set Intent.FLAG_GRANT_READ_URI_PERMISSION so the accessibility service can access it.

Parameters
intent Intent

setSessionTransferUri

public void setSessionTransferUri (Uri uri)

This method can be used to provide a Uri which will be utilized when transitioning a user's session to another surface.

If provided, instead of using the URI provided in setWebUri(Uri), the "Open in browser" feature will use this URI to transition the current session from one surface to the other. Apps may choose to encode session or user information into this URI in order to provide a better session transfer experience. However, while this URI will only be available to the system and not other applications, developers should not encode authentication credentials into this URI, because it will be surfaced in the browser URL bar and may be copied and shared from there.

When providing this URI, developers should still continue to provide setWebUri(Uri) for backwards compatibility with features such as recents URL sharing which facilitate link sharing with other users and would not benefit from a session-transfer URI.

Parameters
uri Uri: This value may be null.

setStructuredData

Added in API level 23
public void setStructuredData (String structuredData)

Sets optional structured data regarding the content being viewed. The provided data must be a string represented with JSON-LD using the schema.org vocabulary.

Parameters
structuredData String

setWebUri

Added in API level 23
public void setWebUri (Uri uri)

Set a web URI associated with the current data being shown to the user. This URI could be opened in a web browser, or in the app as an Intent.ACTION_VIEW Intent, to show the same data that is currently being displayed by it. The URI here should be something that is transportable off the device into other environments to acesss the same data as is currently being shown in the app; if the app does not have such a representation, it should leave the null and only report the local intent and clip data.

Parameters
uri Uri

writeToParcel

Added in API level 23
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

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.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES