Android 通过网页打开自己的APP(scheme)
通过用手机的浏览器(内置,第三方都可)访问一个网页,实现点击一个链接启动自己的应用,并传递数据。
首先在Mainifest文件里面对要启动的Activity添加一个过滤器。
2 |
android:name = "com.example.helloworld.MainActivity" |
3 |
android:label = "@string/app_name" > |
5 |
< action android:name = "android.intent.action.MAIN" /> |
7 |
< category android:name = "android.intent.category.LAUNCHER" /> |
10 |
< action android:name = "android.intent.action.VIEW" /> |
11 |
< category android:name = "android.intent.category.DEFAULT" /> |
12 |
< category android:name = "android.intent.category.BROWSABLE" /> |
13 |
< data android:scheme = "znn" /> |
在MainActivity接收数据:
1 | public class MainActivity extends Activity implements View.OnClickListener{ |
4 |
protected void onCreate(Bundle savedInstanceState) { |
5 |
super .onCreate(savedInstanceState); |
6 |
setContentView(R.layout.activity_main); |
8 |
Intent intent = getIntent(); |
9 |
String scheme = intent.getScheme(); |
10 |
Uri uri = intent.getData(); |
11 |
System.out.println( "scheme:" +scheme); |
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); |
写一个最简单的网页:
<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
- Android(安卓)Wear 报错:cannot connect to localhost:4444: 由于
- 4.0 以上插耳机让音乐在耳机播放,屏蔽掉喇叭播放
- 【Android笔记】关于Intent
- xamarin开发android收集的一些工具
- WIFI学习之三:android wifi工作流程
- Android开机启动Activity或者Service方法---------------一直保
- 【Parallax Animation】实现知乎 Android(安卓)客户端启动页视差
- Android(安卓)startService 启动自动解锁点亮屏幕
- android Notification 的使用!!!
随机推荐
-
Android(安卓)NDK 入门之开发环境搭建
-
处女男学Android(十二)---Android(安卓)菜
-
Android中获取文本宽度和高度
-
Android控件之TextView全解析
-
Android基于OpenCV通过JNI识别并显示人脸
-
Android架构组件—ViewModel
-
关于android连续点击出现多个Activity界
-
Android的View和ViewGroup深入分析
-
Android(安卓)创建插件buildSrc流程
-
分析点击android桌面app图标启动应用程序