因此,目标是创建一些仅使用我的应用程序打开的唯一类型。这应该在整个操作系统中发生。例如:假设当您点击#12345678.90之类的数字时我的应用程序会打开。无论何种类型的号码出现,它都应自动成为一个链接,并在点击它时打开我的应用程序。 可能吗?
答案 0 :(得分:2)
确定您是否使用深层链接
您需要在AndroidManifest.xml中为活动添加以下行
<data android:scheme="http"
android:host="www.example.com"
android:pathPrefix="gizmos" />
但这只有在你有任何你想要的方案的情况下才有效。
它可以与#12345678.90不同吗?或者这是要求吗?
答案 1 :(得分:2)
因此,目标是创建一些仅使用我的应用程序打开的唯一类型
根据定义,对于SDK应用程序来说这是不可能的。如果您可以编写代码以支持响应某些操作,那么其他人也可以,并且欢迎用户安装包含此类代码的2个以上的应用程序。
这应该贯穿整个操作系统
这也是不可能的,除非你构建自己的ROM mod,以某种方式强制所有出现的某些字符串神奇地变为可点击并神奇地路由到你的应用程序。
与您所寻求的最接近的是,如果您的应用的<intent-filter>
<data>
属性与Linkify
支持的模式匹配,则类似于Benoit的回答。许多应用直接或间接使用Linkify
(例如,通过android:autoLink
上的TextView
),无需任何编程即可点击子字符串。但是:
Linkify
不支持任意模式
并非每个应用都使用Linkify
,如果您的字符串显示在这些地方,则不一定是可点击的
任何应用都可以支持相同的模式(例如,浏览器以及您的应用支持Benoit的示例)