此自定义仅供参考!
首先打开androidManifest.xml
在MainActivity中添加如下内容:
<activity android:name=".MainActivity"> ...... <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="com.example.androidtest" /> </intent-filter> </activity>其中data标签里面android:scheme用于指定协议,类似于http这样的东西,这里我们指定成了com.example.androidtest,这是一个自定义的协议,指定成这样是为了避免和其它的应用程序冲突.我们还可以通过android:host来指定域名,android:port来指定端口,android:path来指定路径,这些属性都可以对deep links进行更多的限制,要满足特定条件才能打开指定App.顺便说下https://www.baidu.com/s?cl=3&wd=deeplink 拆分的意思对应下面的 scheme://host:port/pathorpathPrefixorpathPatternhttps表示加密的协议 对应android data标签里面的schemewww.baidu.com 表示域名 对应data标签里面的hosts 表示端口 对应data标签里面的portcl=3&wd=deeplink 表示path路径 对应data标签里面的path这些属性是可选的,但也是相互依赖的。如果没有给Intent过滤器指定scheme属性,那么所有其他的URI属性都会被忽略。如果没有给过滤器指定host属性,那么port属性和所有的路径属性都会被忽略。
时间: 2024-10-07 13:02:29