1、在系统系统自带的浏览器中

  首先做成HTML的页面,页面内容格式如下:    

  1. <a href="[scheme]://[host]/[path]?[query]">启动应用程序</a>

  各个项目含义如下所示:

  scheme:判别启动的App。 ※详细后述

  host:适当记述

  path:传值时必须的key     ※没有也可以

  query:获取值的Key和Value  ※没有也可以

例子:<a href="konger://jp.app/openwith?roomId=17">点我跳转空耳</a>

   接下来是Android端。

  首先在AndroidManifest.xml的MAIN Activity下追加以下内容。(启动Activity时给予)

  ※必须添加项  

  1. <intent-filter>
  2. <action android:name="android.intent.action.VIEW"/>
  3. <category android:name="android.intent.category.DEFAULT" />
  4. <category android:name="android.intent.category.BROWSABLE" />
  5. <data android:scheme="konger" android:host="jp.app" android:pathPrefix="/openwith"/>
  6. </intent-filter>

 HTML记述的内容加入<data …/>。 

  1. 其中必须的内容仅scheme,没有其他内容app也能启动。
  2. ※注意事项:intent-filter的内容【android.intent.action.MAIN】和 android.intent.category.LAUNCHER】这2个,不能与这次追加的内容混合。

    所以,如果加入了同一个Activity,请按以下这样做,否则会导致应用图标在桌面消失等问题。 
  1. <intent-filter>
  2. <action android:name="android.intent.action.MAIN"/>
  3. <category android:name="android.intent.category.LAUNCHER" />
  4. </intent-filter>
  5. <intent-filter>
  6. <action android:name="android.intent.action.VIEW"/>
  7. <category android:name="android.intent.category.DEFAULT" />
  8. <category android:name="android.intent.category.BROWSABLE" />
  9. <data android:scheme="konger" android:host="jp.app" android:pathPrefix="/openwith"/>
  10. </intent-filter>

这样的话,没有问题。

接下来在Activity中需要取值的地方添加以下代码,我是直接写在OnCreate函数里的: 

  1. Intent i_getvalue = getIntent();
  2. String action = i_getvalue.getAction();
  3.  
  4. if(Intent.ACTION_VIEW.equals(action)){
  5. Uri uri = i_getvalue.getData();
  6. if(uri != null){
  7. String name = uri.getQueryParameter("name");
  8. String age= uri.getQueryParameter("age");
  9. }
  10. }

这样就能获取到URL传递过来的值了。

2、在第三方的浏览器中

  把一个http服务宿主在本地应用中,本地的服务地址为127.0.0.1:8765中,宿主用于监控服务数据,并打开自身。

3、在微信中打开

  在微信开放平台登记应用之后,可以获得appid,通过这个appid就可以跳转到你的app。
  iOS平台格式如下:appid://openwebview/?ret=0,appid要替换成实际的,后面可以带参数,在你的app可以接收到。
  例如:location.href = wx234ad233ae222://openwebview/?ret=0

IOS系统中实现 

1、在系统自带的浏览器

  

经常使用Safari浏览器浏览网页点击url会唤醒该网站的手机版app

需要在app的工程中设置

1、打开工程中的myapp-Info.plist文件

2、打开文件中新增URL TYPES的一项

3、在工程中实现如下方法

  1. - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
  2. if (url) {
  3. UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil message:@"你唤醒了您的应用" delegate:selfcancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
  4. [alertView show];
  5. }
  6. return YES;
  7. }

4、在Safari浏览器输入konger:// ,就可以启动应用了。  

2、在自身浏览器上显示Banner,有就显示打开,没有就提示下载

<meta name="apple-itunes-app" content="app-id=432274380">

3、在第三方的浏览器中

把一个http服务宿主在本地应用中,本地的服务地址为127.0.0.1:8765中,宿主用于监控服务数据,并打开自身。

4、在微信中打开

在微信开放平台登记应用之后,可以获得appid,通过这个appid就可以跳转到你的app。
iOS平台格式如下:appid://openwebview/?ret=0,appid要替换成实际的,后面可以带参数,在你的app可以接收到。
例如:location.href = wx234ad233ae222://openwebview/?ret=0

  

  1.   

手机网页唤醒app,的更多相关文章

  1. 手机网页唤醒支付宝APP发送加好友验证

    手机网页唤醒支付宝APP发送加好友验证 <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  2. H5网页唤醒app,判断app安装

    在阅读本文之前你首先应该对js有基本对掌握,并且对Scheme,intent有一定的理解.更多的是代码 上午给朋友做了一个产品引导页,但是需要判断ios系统的TestFlight是否安装,进行了goo ...

  3. 手机浏览器_安卓_苹果手机Webview 中唤醒APP

    Url scheme是iOS,Android平台都支持,只需要原生APP开发时注册scheme, 那么用户点击到此类链接时,会自动跳到APP.比如 <!-- 打开考拉APP首页 --> & ...

  4. 从浏览器或者Webview 中唤醒APP

    本文来自网易云社区 作者:刘新奇 移动互联时代,很多互联网服务都会同时具备网站以及移动客户端,很多人认为APP的能帮助建立更稳固的用户关系,于是经常会接到各种从浏览器.webview中唤醒APP的需求 ...

  5. [Cordova] 手机网页里的1px

    [Cordova] 手机网页里的1px 1px的显示 Cordova让开发人员可以使用HTML页面,来开发APP的显示内容.但是在手机上,HTML页面里定义的1px,并不是直接对应到手机屏幕的一个像素 ...

  6. 微信网页版APP - 网页微信客户端电脑版体验

    微信网页版很早就出来了,解决了很多人上班不能玩手机的问题.微信电脑版-网页微信客户端,直接安装在桌面的微信网页版,免去了开浏览器的麻烦.双击就启动了,和其他的应用程序一样:运行过程中可以隐藏在桌面右下 ...

  7. 转载:手机网页制作的认识(有关meta标签)

    下面是手机网页的一些认识: 一.<meta name="viewport" id="viewport" content="width=devic ...

  8. 手机网页制作的认识(有关meta标签)

    近日以来一直在看JQuery Mobile 一个手机开发框架,说实话真的很头疼的~~~~ 因为里面有很多的属性.方法和事件~~~ 下面是手机网页的一些认识: 一.<meta name=" ...

  9. 访问量分类统计(QQ,微信,微博,网页,网站APP,其他)

    刚准备敲键盘,突然想起今天已经星期五了,有点小兴奋,一周又这么愉快的结束,又可以休息了,等等..我好像是来写Java博客的,怎么变成了写日记,好吧,言归正传. 不知道大家有没有遇到过这样的需求:统计一 ...

随机推荐

  1. fjwc2019 D2T1 直径 (构造)

    #181. 「2019冬令营提高组」直径 (这题构造题是我考场上唯一一A的题........) 先看这个特殊的Subtask4 Subtask 4(20pts):$\sqrt{1+8k}$​​​ 为整 ...

  2. TCP之 TIME_WAIT和CLOSE_WAIT 状态 的原因分析和处理

    转自:http://blog.csdn.net/shootyou/article/details/6622226 昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下: http: ...

  3. oracle orion hugepages_settings.sh(支持OEL 7,4.1内核)

    orion需要首先配置hugepage,否则会出现下列错误. [root@yyxxdb01 ~]# /opt/app/11.2.0/grid_home/bin/orion -run oltp -tes ...

  4. nginx动静态分离以及配置https(安全组强行切换以及导致的问题解决)

    公司原来的网络采用http/https同时支持的方式,http并不会强制自动跳转到https,最近要求强制切换,导致了一系列问题.趁今天测试完成了,整理如下: 1.要求HTTP自动跳转到HTTPS: ...

  5. 使用Navicat for MySQL添加外键约束

    转载:http://blog.csdn.net/u013215018/article/details/54981216 现在有两个表一张是Roles表(角色表),一张是RoleUser表(用户角色) ...

  6. Java1.7 HashMap 实现原理和源码分析

    HashMap 源码分析是面试中常考的一项,下面一篇文章讲得很好,特地转载过来. 本文转自:https://www.cnblogs.com/chengxiao/p/6059914.html 参考博客: ...

  7. 前端 --- 7 Bootstrop框架

    一.基本结构 1.下载地址   官方地址:https://getbootstrap.com 中文地址:http://www.bootcss.com/ 2.HTML基本搭建结构 <!DOCTYPE ...

  8. shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢?

    shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢? 这确实是一个困扰很久的一个问题? how it can be an issue? 事实上, 在shell中, 你可以认为 ...

  9. 102. Binary Tree Level Order Traversal 广度优先遍历

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  10. Set和WeakSet数据结构

    学习Set数据结构,注意这里不是数据类型,而是数据结构.它是ES6中新的东西,并且很有用处.Set的数据结构是以数组的形式构建的. Set的声明 let setArr = new Set(['js', ...