微信链接打开本地应用
来源:互联网 发布:自动排料软件 编辑:程序博客网 时间:2024/04/30 14:29
一些app可以分享链接到微信、QQ等应用,在浏览器中打开这些链接时可以进入到该app。通过实验,发现可以通过配置activity的schemehost等属性可以来完成浏览器打开跳转到app的功能,具体可以参考http://jingyan.baidu.com/article/c45ad29cd6b155051753e2be.html。但是在实际使用中发现微信的浏览器里面却不能进行app的跳转,原因是微信浏览器安全性做了限制。
在反编译nice(一个图片分享app)后发现别人的解决方案。nice在分享一个帖子到微信好友,在微信浏览器打开的链接如下:http://www.oneniceapp.com/photo/index/56616716e58d80e93802315c3868d94b?nfrom=wechat_contact&act=share_photo&utm_source=wandoujia&utm_medium=&from=singlemessage&isappinstalled=1,其中isappInstalled是微信自动增加的判断app是否安装在当前手机的字段,通过查看这个界面的Html源码发现如下代码
<header>
<iframewidth="1px" height="1px" style="display:none" src="http://127.0.0.1:4545/?sid=25696409"></iframe>
</header>
nice在header里面定义了界面跳转,我很奇怪为何nice使用了127.0.0.1作为scheme,该地址是本机的保留IP,研究发现原来nice开启了一个service来监听本机4545端口的请求情况,当浏览器跳转http://127.0.0.1:4545/?sid=25696409这个地址的时候,会对本机的4545 http端口发起请求,于是我们只要在这个应用中来捕获这个http请求,获取该请求的url,根据不同的url进行不同的处理,这样就能绕过微信浏览器打开我们自己的应用了。
该方案的实现步骤主要如下:在html中设置iframe(127.0.0.1:端口号;可参照Nice链接)->开启一个service->通过service启动一个android web服务器来接受4545端口的请求->接受到请求后解析url地址->根据地址参数打开我们自己的app。
监听4545端口的代码可以参照:http://blog.csdn.net/xxdddail/article/details/20996843
- 微信链接打开本地应用
- Android 通过网页链接打开本地应用
- android scheme链接打开本地应用
- 微信打开本地app
- Android 打开本地第三方应用,如QQ,微博,微信等。
- Android 打开本地第三方应用,如QQ,微博,微信等
- Android 打开本地第三方应用,如QQ,微博,微信等。
- html5写链接打开ios和android本地应用
- 通过浏览器链接打开本地应用(APP)
- 微信打开链接下载APP
- 打开只能在微信客户端打开的链接
- 基于应用宝实现微信h5页面中打开本地app,如果没有跳转下载页面的解决方案
- 微信打开第三方应用
- Android打开微信等其他应用
- javascript打开本地应用
- JAVA打开本地应用
- Android打开微信本地数据库详细步骤一
- Android打开微信本地数据库详细步骤二
- BufferedInputStream
- [hdu1059]Dividing 多重背包
- B/S和C/S架构的区别
- windows下使用xShell向远程linux上传文件
- 學習UI/UX的四大重點
- 微信链接打开本地应用
- HDOJ 1285 确定比赛排名(拓扑排序)
- web前端开发的一些感受
- 一对多··Hibernate添加数据方式(一)
- xml-复合元素
- 关于Unity3D中的UnitySendMessage方法的使用!!!
- java中的matches()方法
- 开始了
- 一对多hibernate 添加数据(二)