我想通过以下方案添加对URI深度链接的支持:
xrb:xrb_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp?amount=10000
amount
参数是可选的,第二部分是必需的地址。因此,本质上,架构是xrb:
,第一部分xrb_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp
是任何字符串,amount
是可选参数。
看一下Android文档here,我不清楚的是如何从我的活动中检索数据,尤其是对于那些不作为参数进入的部分(xrb_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp
)
URI是其他应用程序和服务使用的标准,因此我不希望对其进行更改或进行任何专有的操作,但是是否可以使用这种格式的URI进行深层链接?
基本上我要寻找的是单击包含URI的链接时,应用程序将打开并根据URI为其预加载一些数据。
谢谢!
答案 0 :(得分:0)
通过在AndroidManifest中创建intent-filter
来完成
<!-- xrb uri scheme -->
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.VIEW" />
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="xrb" />
</intent-filter>
并在活动的onCreate
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
if (data != null) {
Timber.d("inuri %s", data.toString());
} else {
Timber.d("inuri null");
}