当用户选择文本并长按它时,我们如何向所有会显示的应用程序添加一个新的上下文菜单选项?

How can we add a new context menu option to all the apps that would show up when user selects a text and long presses on it?

我们如何向所有应用程序添加一个新的上下文菜单选项,当用户 selects 文本并长按它时会显示这些应用程序?

假设我想为用户提供从离线词典中查找单词含义的功能,而无需离开他的应用上下文。

  1. 通常要添加上下文菜单,我们会在特定的 TextView 对象上执行 registerForContextMenu。鉴于这需要适用于所有应用程序,我们如何添加上下文菜单选项?
  2. 如何阅读 selected 文本?
  3. 如何在当前打开的应用程序之上呈现弹出控件?

我对 android 开发还很陌生。因此,任何详细的答案或样本指针都会有很大帮助。我假设这应该是可行的,因为应用程序 "define"、"define offline dictionary" 似乎做的事情与此接近,如果不完全相同的话。在这些应用程序中,您可以 select 文本并单击复制以查看文本的含义。

我所做的所有搜索都向我展示了有关如何为文本视图呈现上下文菜单或如何在上下文菜单处理程序中获取 selected 列表项的示例。但这没有帮助。

提前致谢。

我认为这可以帮助你,说如何创建上下文菜单和获取选定的文本。这样你只需要对字典做一个意图,将所选文本作为额外的:

https://nitesh.morajkar.com/how-to-select-and-share-text-with-intents-in-android/

如果您想使用 google 翻译器进行定义,这会有所帮助:

Android API support dictionary applications

编辑:经过双方搜索后,此问题的解决方案如下: https://medium.com/google-developers/custom-text-selection-actions-with-action-process-text-191f792d2999#.h6377bc8j