安卓棉花糖文本选择操作菜单动作

4

你好,我想添加一个全局文本选择监听器,以显示任何选定文本的子菜单。Android 6可以通过新的文本选择监听器实现此功能。

enter image description here

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


你想为旧手机制作自己的剪切-复制-粘贴“小部件”。也许可以尝试学习Android平台编程。将此功能添加到GitHub上的CyanogenMod存储库中。我认为除了将该功能添加到现有平台中,没有其他方法可用。 - piotrek1543
哦,不好了,我正在针对Android 6进行开发。但是这里描述的方法只能在可用的应用程序中实现,但我希望使其全球范围内都可用。因此,您可以安装我的快捷方式应用程序,它会监听每个应用程序中的任何文本选择,并显示一些不错的快捷方式(例如翻译)。 - joecks
1个回答

7
这个概念被称为ACTION_PROCESS_TEXT,适用于Android 6及以上版本:
在你的清单文件中定义一个意图过滤器:
<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>

然后在您的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);
}

每个 Activity 只能定义一个 Action。

参考来源

示例


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接