从Android 8.0(Oreo)/API level 26开始,Android为突出显示的文本显示上下文操作(例如,如果选择了电话号码,则显示“呼叫”操作)。此外,Android会自动选择多个属于一起的单词(例如,一个整条街的地址)。这称为“智能文本选择”。
这是您注册新
TextClassifier
TextClassificationManager manager =
(TextClassificationManager) getSystemService(Context.TEXT_CLASSIFICATION_SERVICE);
TextClassifier c = manager.getTextClassifier();
manager.setTextClassifier(new MyTextClassifier());
MyTextClassifier
实现
TextClassifier
接口和实现
suggestSelection()
classifyText()
.
classifyText()
返回a
TextClassification
对象,该对象具有描述要执行的上下文动作的标题和意图。
(最后):如果我向
TextClassificationManager
它只适用于我自己的应用程序。
有没有办法定义一个可供其他应用程序使用的TextClassifier?
文本分类器
.
这样我就可以编写一个应用程序,在系统范围内增加对歌曲名称的支持(假设我有一个我想要支持的所有歌曲名称的列表)。
EditText
s会自动选择“闻起来像少年精神”,即使用户只是长时间点击“少年”。在“剪切”、“复制”等旁边可能会弹出一个上下文操作“搜索谷歌播放音乐”。