格式
就Android平台而言,URI主要分三个部分:scheme,authorityandpath。其中authority又分为host和port。
举个实际的例子:

写一个简单的网页
1
| 1.<a href="znn://aa.bb:80/test?p=12&d=1">test</a> //html 中的代码
|
AndroidManifest.xml
1 2 3 4 5 6
| <intent-filter> //activity 中 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="znn"/> //要和标签中一致 </intent-filter>
|
Activity 中的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Intent intent = getIntent(); String scheme = intent.getScheme();// 得到传过来的 scheme Uri uri = intent.getData();System.out.println("scheme:"+scheme);// scheme:znn if(uri!=null){ // 获取 host 的值 String host = uri.getHost(); System.out.println("host:" + host); // host:aa.bb // 获取 host String dataString = intent.getDataString(); System.out.println("dataString:" + dataString); // dataString:znn://aa.bb:80/test?p=12&d=1 // 获取参数值 d String id = uri.getQueryParameter("d"); System.out.println("id:" + id); // id:1 // 获取 path 值: String path = uri.getPath(); System.out.println("path:" + id); // path:test // 获取所有的参数值 String queryString = uri.getQuery(); System.out.println("queryString:" + queryString);// queryString:p=12&d=1 }
|