我想从浏览器重定向到我的应用程序,所以我在Manifest中使用以下代码进行活动:
<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="fivos"
android:host="book"
/>
</intent-filter>
//接受以“fivos:// book”开头的URI
浏览器发送的Uri中也有一些参数(例如fivos:// book?username = george)。在我被重定向到的Activity中,我使用以下代码来获取Uri,但是Uridata对象中似乎不存在参数,除了方案和主机
Uri URIdata = getIntent().getData();
if(URIdata != null){
String scheme = URIdata.getScheme();
String host = URIdata.getHost();
List params = URIdata.getPathSegments();
String username = params.get(0).toString();
}
我在清单中遗漏了什么吗?
我使用以下代码来获取Uri但是Uridata对象中似乎没有参数,除了sheme和主机
在URL或?
中的Uri
之后的东西是查询参数,您可以通过Uri
方法从like getQuery()
检索。