gpt4 book ai didi

android - 如何通过 Smart-Linkify (AKA "smart text selection") 向其他应用程序提供我的应用程序的操作?

转载 作者:行者123 更新时间:2023-11-29 01:02:00 26 4
gpt4 key购买 nike

背景

一段时间以来,作为用户,我注意到在某些应用程序上我可以对部分文本执行常见操作,例如:

enter image description here

这称为“智能文本选择”(视频 here ),它从 Android O 开始就有了,如图 here .

问题

最近 Google 展示了如何让您的应用显示其自身(即其 TextView 内)的操作。这称为“Smart-Linkify”,可以找到关于它的视频 here .它在那里显示了如何显示操作:

enter image description here

我找不到的是如何做相反的事情。意思是如何向其他应用程序提供我自己的操作。

例如,我可以制作一个拨号器应用程序,它可以通过调用电话号码或搜索电话号码来处理电话号码。

我发现了什么

  1. 过去,我问过一个非常相似的问题,Android M,here .还有一个很好的教程,here .但是,这是关于一般文本,没有何时触发的类型,这意味着它将始终显示。

  2. 我发现很少有人提及此功能。我找到的唯一样本是 here ,但由于某种原因我无法构建它,而且它甚至与提供操作无关。这是关于如何显示 Action 。

  3. 我找到了 Android 拨号器的 Github 存储库,here .它还提供了“调用”电话号码的操作。研究 list 后,我发现这部分负责提供此操作:

      <intent-filter >
    <action android:name="android.intent.action.VIEW" />
    <action android:name="android.intent.action.DIAL" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="tel" />
    </intent-filter>

    如果我删除这部分,我就不会再看到这个应用程序的“调用”操作(直到我重新添加它)。

    遗憾的是,如果我将“DIAL”操作更改为“SEARCH”,它不会显示。

    好消息是,如果我将这部分添加到新项目中,我可以看到 Action 。

问题

  1. 这是来自 Android O 及更高版本,对吧?当我实现此功能时,Android M 或 N 会发生什么情况?
  2. 如何向其他应用提供我自己的应用操作?到目前为止,我已经找到了如何进行一般的文本处理和拨号。但是我怎样才能提供其他的,比如电话号码的搜索呢?
  3. 我可以自定义为操作显示的文本吗?我注意到,如果我更改“PROCESS_TEXT”操作的标签,它确实会发生变化,但我看不出如何为其他操作执行此操作。
  4. 我可以自定义触发操作的内容吗?例如要匹配的特定正则表达式?到目前为止,我只找到了电话号码。我可以使用哪些不同的东西来过滤?

最佳答案

好吧,看到我一次又一次失败,无论我尝试什么,我认为答案是不支持。

原因是谷歌可能收集了世界各地开发者要求的各种 Action ,并将该列表用于设备。更多信息 here .从那里引用:

Get your app discovered in more places across multiple Google and Android surfaces. Your Actions can appear in the Android launcher, Smart Text Selection, the Google Search app, the Google Assistant, and the Play Store.

Here's a list开发人员可以使用的现有特殊 Intent 操作。

它没有专门的电话号码搜索功能,但它有一些其他的特殊操作。

为了请求更多操作可用,开发人员可以请求它here .

我希望这将永远可用,因为我认为很多开发人员甚至都不知道这一点。

关于android - 如何通过 Smart-Linkify (AKA "smart text selection") 向其他应用程序提供我的应用程序的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50423546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com