Android Marshmallow文本选择选项菜单操作

时间:2016-01-01 20:58:57

标签: android copy-paste

您好我想添加一个全局文本选择监听器,它显示任何所选文本的子菜单。 Android 6允许使用新的Text Selection侦听器。

enter image description here

是否可以通过外部应用程序使用此功能,然后填充子菜单?

1 个答案:

答案 0 :(得分:7)

该概念称为ACTION_PROCESS_TEXT,可在Android 6中使用:

在Manifest中定义一个intent过滤器:

<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>

然后处理您活动中的意图:

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);
}

每个活动只能定义一个操作。

Source

Example