Android--通过网页打开APP并传值详解
来源:互联网 发布:python与go开发web应用 编辑:程序博客网 时间:2024/06/05 09:58
本来这篇博客应该写Git的,但是由于最近项目比较忙,Git的内容还没有整理完(因为还有GitLab以及Github的内容),所以先写了这片博客总结以下比较零碎的东西。现在正在做商城类四网合一开发,所以从网页通过连接点击打开App以及从网页传数据到APP便成为必须,因为刚做过在加上内容比较少,所以先做一下总结,以便自己以后做复习,也可以为需要的人提供一些帮助。能力有限,欢迎各位大神多提不同意见进行交流。
在使用网页版京东时可以看到就有此功能的实现,而本篇文章主要介绍通过网页点击连接如果存在此APP则打开,不存在则下载此APP,而在Google的官方文档中也有相关介绍,该文档给出了两种从浏览器网页打开APP的方式:
第一种:用户自定义的URI scheme (Custom URI scheme) 第二种:使用“intent”语法(Intent_based URI)
Google的官方文档地址连接:https://developer.chrome.com/multidevice/android/intents
好了,废话不多说进入主题,下面我们使用第一种方式实现该功能。
使用Custom Scheme URI打开APP
此红色部分(自定义Uri)引用的博客是:http://blog.csdn.net/buptlzx/article/details/9837137
就Android平台而言,URI主要分三个部分:scheme, authority and path。其中authority又分为host和port。格式如下:
scheme://host:port/path
举个实际的例子:
content://com.example.project:200/folder/subfolder/etc ?arg0=1&arg1=2
\---------/ \---------------------------/ \---/ \--------------------------/ \--------------------------/(query我们要传的值)
scheme host port path (我们要传的值如果是传多个值使用&)
\--------------------------------/
authority
1,我们先写一个简单的html文件,使用超链接的方式添加自定义的uri(因为现在自己也正在学习h5,所以能写的东西不多,凑合者看),我写的比较多,uri可以简单些成:<a href="a://b.com/?t1=k&t2=0">
<html><meta charset="UTF-8"> <body> <h1>Test Scheme</h1> <!--自动加载隐藏页面跳转--> <!--手动点击跳转--> <a href="ckck://myProject.com:80/mypath?name=从html页面传过来的值之我爱中国">点击打开APP并将name的值传过去</a> </body></html>
2, 然后需要在想要打开的App的AndroidManifest.xml文件中添加过滤器intent-filter,如下图所示:
要获得html页面传过来的值我们需要在Activity中添加下面的代码:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTextView= (TextView) findViewById(R.id.tv_main_show); Intent intent = getIntent(); Uri uri=intent.getData(); if(uri!=null){ String name=uri.getQueryParameter("name"); String scheme= uri.getScheme(); String host=uri.getHost(); String port=uri.getPort()+""; String path=uri.getPath(); String query=uri.getQuery(); mTextView.setText("获得的数据name="+name+"/r"+"scheme"+scheme+"/r"+"host" + "host"+host+"/r"+"port"+port+"/r"+"path"+path+"/r"+"query"+query); }
然后使用手机浏览器打开html文件就可以打开手机上的APP并获取从html页面传过来的值:
3,实现通过网页打开APP如果手机中没有此APP就去下载:
至于这个功能的实现我主要参考了一篇文章,作者讲的非常详细了,有需要的可以自己去看一下。
地址奉上:https://my.oschina.net/liucundong/blog/354029
时间有限(最近项目比较忙) 至于第二种方式实现该功能以及实现的风险可以参考另一篇博客,以后有时间了再将其他的内容补上。
博客地址:http://blog.csdn.net/alimobilesecurity/article/details/51209990
- Android--通过网页打开APP并传值详解
- Android--通过网页打开APP并传值详解
- 通过网页打开App并传递参数
- 如何通过网页打开Android APP
- Android 通过网页打开自己的APP(scheme)
- Android 通过网页打开自己的APP(scheme)
- Android 通过网页打开自己的APP(scheme)
- Android 通过网页打开自己的APP(scheme)
- android中的通过网页链接打开本地app
- Android 通过网页打开自己的APP(scheme)
- Android 通过网页打开自己的APP(scheme)
- android中的通过网页链接打开本地app
- Android 通过网页打开自己的APP(scheme)
- Android在网页中打开app并传递数据
- 网页通过js打开本地app
- 通过网页来打开app指定页面
- Android 通过浏览器打开App
- Android通过网页启动APP
- SpingBoot Quartz配置及数据库持久化配置
- TensorFlow学习笔记(二):实现神经网络
- spark资源调度分配
- log4j2教程【RollingFileAppender】
- django-channels小结
- Android--通过网页打开APP并传值详解
- 对企业账户来说,调试证书和发布证书的区别
- Cassandra CQL的限制
- php做微信支付和支付宝支付的方法
- Phaser工具的基础入门了解
- echarts插件——关于echarts在默认隐藏的div中不显示的问题
- URI和URL的区别
- iOS RSA加密基础操作及使用。
- Android Studio在创建项目是一直处于building “project name”gradle project info的解决办法