banner
NEWS LETTER

如何从html的一个动作打开app并跳转到指定的Activity

Scroll down

格式

就Android平台而言,URI主要分三个部分:scheme,authorityandpath。其中authority又分为host和port。
1
scheme://host:port/path

举个实际的例子:

写一个简单的网页

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
}
其他文章
目录导航 置顶
  1. 1. 格式
  2. 2. 举个实际的例子:
  3. 3. 写一个简单的网页
  4. 4. AndroidManifest.xml
  5. 5. Activity 中的代码
请输入关键词进行搜索