Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Marshmallow Text Selection Option Menu Actions

Hi I would like to add a global text selection listener which shows a sub menu for a any selected text. Android 6 allows this with the new Text Selection listener.

enter image description here

Is it possible to use this functionality by an external app, which then populates the sub menu?

like image 557
joecks Avatar asked Mar 14 '23 17:03

joecks


1 Answers

The concept is called ACTION_PROCESS_TEXT and is available in Android 6:

Define an intent filter in your Manifest:

<activity android:name=".YourActivity" 
          android:label="@string/process_text_action_name">
    <intent-filter>
        <action android:name="android.intent.action.PROCESS_TEXT" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/plain" />
    </intent-filter>
</activity>

Then handle the intent in your activity:

Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.process_text_main);
  CharSequence text = getIntent()
      .getCharSequenceExtra(Intent.EXTRA_PROCESS_TEXT);
  // process the text
  boolean readonly = getIntent()
  .getBooleanExtra(Intent.EXTRA_PROCESS_TEXT_READONLY, false);
}

You can only define one Action per Activity.

Source

Example

like image 148
joecks Avatar answered Mar 25 '23 07:03

joecks