Android 通过网页打开自己的APP(scheme)


通过用手机的浏览器(内置,第三方都可)访问一个网页,实现点击一个链接启动自己的应用,并传递数据。

首先在Mainifest文件里面对要启动的Activity添加一个过滤器。

1 <activity
2 android:name="com.example.helloworld.MainActivity"
3 android:label="@string/app_name">
4 <intent-filter>
5 <actionandroid:name="android.intent.action.MAIN"/>
6
7 <categoryandroid:name="android.intent.category.LAUNCHER"/>
8 </intent-filter>
9 <intent-filter>
10 <actionandroid:name="android.intent.action.VIEW"/>
11 <categoryandroid:name="android.intent.category.DEFAULT"/>
12 <categoryandroid:name="android.intent.category.BROWSABLE"/>
13 <dataandroid:scheme="znn"/>
14 </intent-filter>
15 </activity>

在MainActivity接收数据:

1 publicclassMainActivityextendsActivityimplementsView.OnClickListener{
2
3 @Override
4 protectedvoidonCreate(Bundle savedInstanceState) {
5 super.onCreate(savedInstanceState);
6 setContentView(R.layout.activity_main);
7
8 Intent intent = getIntent();
9 String scheme = intent.getScheme();
10 Uri uri = intent.getData();
11 System.out.println("scheme:"+scheme);
12 if(uri !=null) {
13 String host = uri.getHost();
14 String dataString = intent.getDataString();
15 String id = uri.getQueryParameter("id");
16 String path = uri.getPath();
17 String path1 = uri.getEncodedPath();
18 String queryString = uri.getQuery();
19 System.out.println("host:"+host);
20 System.out.println("dataString:"+dataString);
21 System.out.println("id:"+id);
22 System.out.println("path:"+path);
23 System.out.println("path1:"+path1);
24 System.out.println("queryString:"+queryString);
25 }
26
27 }
28 }

写一个最简单的网页:

<ahref=”znn://aa.bb:80/test?p=12&d=1″>test</a>

测试地址:www.erdian.net/m.html

测试结果:

scheme:znn
host:aa.bb
dataString:znn://aa.bb:80/test?p=12&id=1
id:1
path:/test
path1:/test

queryString:p=12&d=1


更多相关文章

  1. Android(安卓)Wear 报错:cannot connect to localhost:4444: 由于
  2. 4.0 以上插耳机让音乐在耳机播放,屏蔽掉喇叭播放
  3. 【Android笔记】关于Intent
  4. xamarin开发android收集的一些工具
  5. WIFI学习之三:android wifi工作流程
  6. Android开机启动Activity或者Service方法---------------一直保
  7. 【Parallax Animation】实现知乎 Android(安卓)客户端启动页视差
  8. Android(安卓)startService 启动自动解锁点亮屏幕
  9. android Notification 的使用!!!

随机推荐

  1. Android(安卓)NDK 入门之开发环境搭建
  2. 处女男学Android(十二)---Android(安卓)菜
  3. Android中获取文本宽度和高度
  4. Android控件之TextView全解析
  5. Android基于OpenCV通过JNI识别并显示人脸
  6. Android架构组件—ViewModel
  7. 关于android连续点击出现多个Activity界
  8. Android的View和ViewGroup深入分析
  9. Android(安卓)创建插件buildSrc流程
  10. 分析点击android桌面app图标启动应用程序