java - 如何将项目添加到文本选择弹出菜单?

标签 java android android-intent menu-items

当用户标记某些文本(在 EditTextWebView... 内)时,会出现一个 float 文本选择弹出窗口,应用程序可以在其中添加自定义项目。有人可以给我一个例子,如何向这个弹出菜单添加一个项目,它会产生一个 Intent 并将所选的 String 传输到我的 Activity 中。

enter image description here

最佳答案

本博客教程将向您展示如何:https://medium.com/google-developers/custom-text-selection-actions-with-action-process-text-191f792d2999

基本上,在您的 Manifest 文件中,将 PROCESS_TEXT intent filter 添加到将处理从弹出菜单共享的文本的 Activity 。

<activity
    android:name=".ProcessTextActivity"
    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>

然后,您将在 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
}

关于java - 如何将项目添加到文本选择弹出菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51632908/

相关文章:

java - 递归地将节点添加到自定义 TreeMap

android - 如何通过 ADB 获取当前正在运行的 Activity 的额外信息

java - onActivityResult 需要帮助获取图像

android - 无法从 Android WebView 调用电话

java - 如果仅执行 AsyncTask,是否需要 BroadcastReceiver 唤醒锁?

android - 如何获得分支指标链接以支持现有的深层链接路径?

java - 如何在 Android 中使用 onClick 属性创建 float 窗口?

java - 如何从 Android/Java 中的字符串中获取多个子字符串?

java - Mule - 抛出异常直到成功

java - Flying Saucer XHTML 中的相对路径?