and*_*per 16 android textselection android-manifest android-6.0-marshmallow
Android M提供了一种处理所选文本的新方法(此处链接),甚至可以从应用程序外部处理.文本选择可以这样处理:

我知道可以从应用程序外部处理所选文本,因为如果我转到Web浏览器(或允许文本选择的任何其他地方),我可以看到我可以使用"API演示"应用程序来处理所选文本.
我看不到很多关于如何做的信息.
Com*_*are 15
首先,澄清问题:在M模拟器上,如果突出显示文本,您将看到新的浮动操作模式.如果单击溢出图标,您将看到"API DEMOS"显示:

单击该按钮将显示API Demos应用程序中的活动,显示突出显示的文本:

替换字段中的值并单击按钮可将替换文本替换为突出显示的内容.
警告:以下说明来自检查API演示代码和M Developer Preview文档.在M为realz发货之前,这种情况很可能会发生变化.YMMV,除非您使用公制系统,在这种情况下YKMV.
有问题的活动,即接收文本,支持ACTION_PROCESS_TEXT作为Intent行动.EXTRA_PROCESS_TEXT将保留一些文本,或者EXTRA_PROCESS_TEXT_READONLY如果文本是只读的,将保留它.该活动将通过startActivityForResult().结果Intent可以有自己的EXTRA_PROCESS_TEXT值,这将是替换文本.
所以,针对具体问题:
应该在代码(和清单)中添加什么才能从应用程序外部处理选定的文本?
往上看.请注意,API Demos activity(ProcessText)具有以下功能<intent-filter>:
<intent-filter >
<action android:name="android.intent.action.PROCESS_TEXT"/>
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
该文档不讨论MIME类型.我没有运行任何实验来确定是否需要MIME类型,以及我们可能获得的其他内容(text/html对于有跨度的东西?).
是否可以将选择限制在某些类型的文本中?例如,仅当文本类型是有效的电话号码时才提供显示应用程序?
鉴于文件,这似乎是不可能的.话虽如此,这当然是一个合理的想法(例如,通过清单中的元数据宣传正则表达式或多个正则表达式,文本必须匹配).
| 归档时间: |
|
| 查看次数: |
3930 次 |
| 最近记录: |