Android本地应用打开方法——通过html5写连接

2016-03-11 43

1、在html中设置链接

复制代码
代码如下:

href=”[scheme]://[host]/[path]?[query]”

scheme可以自己在app内部设置成任意的,把android和ios的设置成一样的
2、若本地应用存在,直接打开app;若不存在,计时一段时间跳到appstore
需要判断ios还是android平台下的浏览器,需要判断微信浏览器

XML/HTML Code复制内容到剪贴板
  1. <code class="hljs" javascript="">var openApp = function () {    
  2. var btnOpenApp = document.getElementById(open-app);    
  3. btnOpenApp.onclick = function () {    
  4. //打开本地应用函数    
  5. var open=function(url){    
  6. var timeout;    
  7. function try_to_open_app() {    
  8. timeout = setTimeout(function(){    
  9. window.location.href=url;    
  10. console.log()    
  11. }, );    
  12. }    
  13. try_to_open_app();    
  14. }    
  15. if (/android/i.test(navigator.userAgent)) {    
  16. //alert(This is Android'browser.);//这是Android平台下浏览器    
  17. if (/MicroMessenger/i.test(navigator.userAgent)) {    
  18. alert(This is MicroMessenger browser,请使用本地浏览器打开);//这是微信平台下浏览器    
  19. }    
  20. else {    
  21. open(andorid应用市场url);    
  22. }    
  23. }    
  24. if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {    
  25. //alert(This is iOS'browser.);//这是iOS平台下浏览器    
  26. if (/MicroMessenger/i.test(navigator.userAgent)) {    
  27. alert(微信内置浏览器不支持打开本地应用,请点击右上角使用本地浏览器打开);//这是微信平台下浏览器    
  28. }    
  29. else {    
  30. open(ios应用市场url);    
  31. }    
  32. }    
  33. };    
  34. }</code>   

 Android配置

XML/HTML Code复制内容到剪贴板
  1. <activity android:name=".ui.UploadActivity" android:screenorientation="portrait">    
  2. <intent-filter>    
  3. <data android:scheme="http" android:host="192.168.167.33" android:port="8088" android:path="/mi-tracker-web/download.html">    
  4. <action android:name="android.intent.action.VIEW">    
  5. <category android:name="android.intent.category.DEFAULT">    
  6. <category android:name="android.intent.category.BROWSABLE">    
  7. </category></category></action></data></intent-filter>    
  8. </activity>   

Open Application

XML/HTML Code复制内容到剪贴板
  1. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"    
  2. pageEncoding="ISO-8859-1"%>    
  3. <script type="text/javascript"> window.location="market://search?q=com.singtel.travelbuddy.android";</script>    
  4. String str = "market://details?id=" + getPackageName();    
  5. Intent localIntent = new Intent("android.intent.action.VIEW");    
  6. localIntent.setData(Uri.parse(str));    
  7. startActivity(localIntent);   

HTML配置示例
Open app
Open Market
Open Market Details
Android获取参数:

XML/HTML Code复制内容到剪贴板
  1. Uri uri = getIntent().getData(); String test1uri.getQueryParameter("arg0"); String test2uri.getQueryParameter("arg1");    
  2. webView.setWebViewClient(new WebViewClient(){    
  3. @Override    
  4. public boolean shouldOverrideUrlLoading(WebView view, String url) {    
  5. Uri uri=Uri.parse(url);    
  6. if(uri.getScheme().equals("m")&&uri.getHost().equals("my.com")){    
  7. String arg=uri.getQueryParameter("arg");    
  8. String arg=uri.getQueryParameter("arg");    
  9. }else{    
  10. view.loadUrl(url);    
  11. }    
  12. return true;    
  13. }    
  14. });  

以上所述是小编给大家介绍的Android本地应用打开方法——通过html5写连接 ,希望对大家有所帮助!

展开阅读全文

更多HTML / CSS文章

CSS3实现可爱的小黄人动画
Jul 11 49
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
Dec 06 53
css3中less实现文字长阴影(long shadow)
Apr 24 71
详解Html5中video标签那些属性和方法
Jul 01 44
html5声频audio和视频video等新特性详细说明
Dec 26 64
Javascript 高级手势使用介绍
Apr 21 41
深入解析HTML5的IndexedDB索引数据库
Sep 14 60
手机访问当前页面