Added in API level 26

TextClassification

class TextClassification : Parcelable
kotlin.Any
   ↳ android.view.textclassifier.TextClassification

Information for generating a widget to handle classified text.

A TextClassification object contains icons, labels, onClickListeners and intents that may be used to build a widget that can be used to act on classified text. There is the concept of a primary action and other secondary actions.

e.g. building a view that, when clicked, shares the classified text with the preferred app:

<code>// Called preferably outside the UiThread.
    TextClassification classification = textClassifier.classifyText(allText, 10, 25);
 
    // Called on the UiThread.
    Button button = new Button(context);
    button.setCompoundDrawablesWithIntrinsicBounds(classification.getIcon(), null, null, null);
    button.setText(classification.getLabel());
    button.setOnClickListener(v -&gt; classification.getActions().get(0).getActionIntent().send());
  </code>

e.g. starting an action mode with menu items that can handle the classified text:

<code>// Called preferably outside the UiThread.
    final TextClassification classification = textClassifier.classifyText(allText, 10, 25);
 
    // Called on the UiThread.
    view.startActionMode(new ActionMode.Callback() {
 
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            for (int i = 0; i &lt; classification.getActions().size(); ++i) {
               RemoteAction action = classification.getActions().get(i);
               menu.add(Menu.NONE, i, 20, action.getTitle())
                  .setIcon(action.getIcon());
            }
            return true;
        }
 
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            classification.getActions().get(item.getItemId()).getActionIntent().send();
            return true;
        }
 
        ...
    });
  </code>

Summary

Nested classes

Builder for building TextClassification objects.

A request object for generating TextClassification.

Inherited constants
Public methods
Int

MutableList<RemoteAction!>!

Returns a list of actions that may be performed on the text.

Float

Returns the confidence score for the specified entity.

String
getEntity(index: Int)

Returns the entity at the specified index.

Int

Returns the number of entities found in the classified text.

Bundle

Returns the extended data.

Drawable?

Returns an icon that may be rendered on a widget used to act on the classified text.

String?

Returns the id, if one exists, for this object.

Intent?

Returns an intent that may be fired to act on the classified text.

CharSequence?

Returns a label that may be rendered on a widget used to act on the classified text.

View.OnClickListener?

Returns the OnClickListener that may be triggered to act on the classified text.

String?

Gets the classified text.

String

Unit
writeToParcel(dest: Parcel, flags: Int)

Properties
static Parcelable.Creator<TextClassification!>

Public methods

describeContents

Added in API level 28
fun describeContents(): Int
Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR

getActions

Added in API level 28
fun getActions(): MutableList<RemoteAction!>!

Returns a list of actions that may be performed on the text. The list is ordered based on the likelihood that a user will use the action, with the most likely action appearing first.

getConfidenceScore

Added in API level 26
fun getConfidenceScore(entity: String!): Float

Returns the confidence score for the specified entity. The value ranges from 0 (low confidence) to 1 (high confidence). 0 indicates that the entity was not found for the classified text.

Parameters
entity String!: Value is android.view.textclassifier.TextClassifier#TYPE_UNKNOWN, android.view.textclassifier.TextClassifier#TYPE_OTHER, android.view.textclassifier.TextClassifier#TYPE_EMAIL, android.view.textclassifier.TextClassifier#TYPE_PHONE, android.view.textclassifier.TextClassifier#TYPE_ADDRESS, android.view.textclassifier.TextClassifier#TYPE_URL, android.view.textclassifier.TextClassifier#TYPE_DATE, android.view.textclassifier.TextClassifier#TYPE_DATE_TIME, android.view.textclassifier.TextClassifier#TYPE_FLIGHT_NUMBER, android.view.textclassifier.TextClassifier.TYPE_DICTIONARY, or android.view.textclassifier.TextClassifier.TYPE_OTP_CODE
Return
Float Value is between 0.0 and 1.0 inclusive

getEntity

Added in API level 26
fun getEntity(index: Int): String

Returns the entity at the specified index. Entities are ordered from high confidence to low confidence.

Return
String This value cannot be null. Value is android.view.textclassifier.TextClassifier#TYPE_UNKNOWN, android.view.textclassifier.TextClassifier#TYPE_OTHER, android.view.textclassifier.TextClassifier#TYPE_EMAIL, android.view.textclassifier.TextClassifier#TYPE_PHONE, android.view.textclassifier.TextClassifier#TYPE_ADDRESS, android.view.textclassifier.TextClassifier#TYPE_URL, android.view.textclassifier.TextClassifier#TYPE_DATE, android.view.textclassifier.TextClassifier#TYPE_DATE_TIME, android.view.textclassifier.TextClassifier#TYPE_FLIGHT_NUMBER, android.view.textclassifier.TextClassifier.TYPE_DICTIONARY, or android.view.textclassifier.TextClassifier.TYPE_OTP_CODE
Exceptions
java.lang.IndexOutOfBoundsException if the specified index is out of range.

getEntityCount

Added in API level 26
fun getEntityCount(): Int

Returns the number of entities found in the classified text.

Return
Int Value is 0 or greater

getExtras

Added in API level 29
fun getExtras(): Bundle

Returns the extended data.

NOTE: Do not modify this bundle.

Return
Bundle This value cannot be null.

getIcon

Added in API level 26
Deprecated in API level 28
fun getIcon(): Drawable?

Deprecated: Use getActions() instead.

Returns an icon that may be rendered on a widget used to act on the classified text.

NOTE: This field is not parcelable and only represents the icon of the first RemoteAction (if one exists) when this object is read from a parcel.

Return
Drawable? This value may be null.

getId

Added in API level 28
fun getId(): String?

Returns the id, if one exists, for this object.

Return
String? This value may be null.

getIntent

Added in API level 26
Deprecated in API level 28
fun getIntent(): Intent?

Deprecated: Use getActions() instead.

Returns an intent that may be fired to act on the classified text.

NOTE: This field is not parcelled and will always return null when this object is read from a parcel.

getLabel

Added in API level 26
Deprecated in API level 28
fun getLabel(): CharSequence?

Deprecated: Use getActions() instead.

Returns a label that may be rendered on a widget used to act on the classified text.

NOTE: This field is not parcelable and only represents the label of the first RemoteAction (if one exists) when this object is read from a parcel.

Return
CharSequence? This value may be null.

getOnClickListener

Added in API level 26
Deprecated in API level 28
fun getOnClickListener(): View.OnClickListener?

Deprecated: Use getActions() instead.

Returns the OnClickListener that may be triggered to act on the classified text.

NOTE: This field is not parcelable and only represents the first RemoteAction (if one exists) when this object is read from a parcel.

Return
View.OnClickListener? This value may be null.

getText

Added in API level 26
fun getText(): String?

Gets the classified text.

Return
String? This value may be null.

toString

Added in API level 26
fun toString(): String
Return
String a string representation of the object.

writeToParcel

Added in API level 28
fun writeToParcel(
    dest: Parcel,
    flags: Int
): Unit
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_WRITE_RETURN_VALUE. Value is either 0 or a combination of android.os.Parcelable#PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES

Properties

CREATOR

Added in API level 28
static val CREATOR: Parcelable.Creator<TextClassification!>