js android打电话,Android开发webview与js的交互总结【安卓巴士博文大赛】
一些应用为了节省开发时间,会开用Android、iOS内嵌HTML方式进行开发,在涉及到打电话、发短信这些Android原生功能时,需要涉及到webView中js与ANdroid的交互。这里结合我做过的项目,以其中的拨打电话的功能为例,总结下过程:
1、添加权限声明
2、添加JavaScript支持contentWebView.getSettings().setJavaScriptEnabled(true);
3、重写shouldOverrideUrlLoading(WebView view, String url)方法,对符合和不符合条件的URL进行判断public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("tel:")) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(url));
startActivity(intent);
return false;
} else {
view.loadUrl(url); return true;
}
}
4、在web页面的链接改造成调用js函数,在函数里面执行类似window.js交互接口名.js函数名()。function func(tel){
window.jsInterface.exitSys(tel);
}
5、在Android壳源码里面对应加上js接口声明,比如我的名称是jsInterface。contentWebView.addJavascriptInterface(new JavascriptInterface(this), "jsInterface");
6、在JavascriptInterface类里面声明与js对应的方法。public void exitSys(String number) {
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+number));
startActivity(intent);
}
7、被调用的js如有需要请动态传参。
8、在web页面加上浏览器判断操作系统类型,并执行对应的js函数。$(document).ready(function(){
$("a").each(function(){ var u = navigator.userAgent; if(u.indexOf('iPhone') > -1){
} else { if($(this).attr("href").length>4&&$(this).attr("href").indexOf("tel:")==0){
$(this).attr("href","javascript:exitSys('"+$(this).attr("href").replace("tel:","")+"')");
}
}
});
});
js android打电话,Android开发webview与js的交互总结【安卓巴士博文大赛】相关推荐
- android应用案例开发大全_vue.js入门及经典应用案例总结(前端开发必看)
<大数据和人工智能交流>头条号向广大初学者新增C .Java .Python .Scala.javascript 等目前流行的计算机.大数据编程语言,希望大家以后关注本头条号更多的内容. ...
- Carson带你学Android:你要的WebView与 JS 交互方式都在这里了
前言 现在很多App里都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝.京东.聚划算等等,如下图 上述功能是由Android的WebView实现的,其中涉及到Android客户端与 ...
- 安卓巴士Android开发神贴整理
10个经典的Android开源应用项目 http://www.apkbus.com/android-13519-1-1.html 安卓巴士总结了近百个Android优秀开源项目,覆盖Android开发 ...
- Android网站客户端开发
注:本文来自友盟-安卓巴士教程大赛第一名获奖作品,作者安卓巴士的ID为liupeinye.推荐给所有刚刚开始接触Android开发的朋友们! 本文面向Android初级开发者,有一定的Java和And ...
- Android开发-Android原生与WebView的js交互的实现
前 言 一般在Android应用的开发过程中,一些核心的业务功能开发往往需要Android原生的开发,一些需要改动比较频繁的功能且不是核心的业务功能往往只需要在Android应用调用一个网页就行了.在 ...
- 移动开发周刊:Android ImageView正确使用、WebView与JS交互解析
写在前面 从 2011 年创建首刊至今,移动开发周刊内容聚焦 Android.iOS.VR/AR 等前沿移动开发技术,精选一周最热点,解读开发技巧,从中希望能够让你有一些收获,如果你有好的文章以及优化 ...
- Android开发-WebView中实现Android调用JS JS调用Android 【三】
老早之前就想总结下Webview相关的知识点了,因为互联网大潮中,很多APP都会使用到Webview,像那些不计其数的电商APP,无一例外的使用Webview:或者一些非电商APP中的像广告页面,注册 ...
- Android WebView 与 JS 交互
2019独角兽企业重金招聘Python工程师标准>>> 在android activity webView的使用,activity中执行html中的js 方法, 和在html 中 调 ...
- Android WebView与JS交互入门
2019独角兽企业重金招聘Python工程师标准>>> 首先在Anndroid代码中对WebView进行初始化 webView = (WebView) findViewById(R. ...
最新文章
- Web自动化之Headless Chrome概览
- E0144“const char *“ 类型的值不能用于初始化 “char *“ 类型的实体
- 常见的服务器内存浅析
- 平行相似定理_初中数学知识点----相似三角形
- android 触摸屏 旋转,android-使用OpenGl和触摸屏功能在视觉上纠正旋转
- jQuery就业课程之表单选择器系列
- tfw文件如何导入cad_教你三维家3d设计软件如何导入cad文件
- 如何让new操作符只构造,不申请内存
- 第一周:深度学习引言(Introduction to Deep Learning)
- poj2991(Crane)线段树+计算几何
- BAT Java面试154道题分享!搞懂轻松进BAT
- 谈谈主策划需要的能力
- 计算机程序设计员( 国家职业标准三级),计算机程序设计员国家职业标准
- Unity 3D光源-Directional平行光/逆光效果,光晕详解、教程
- Linux进程通信的试验
- 全新的Uber App设计
- chan相关的知识点
- C语言趣味一百道 第25题 2017_12_24
- java火焰纹章攻略女神之剑_火焰纹章晓之女神图文攻略(4)
- 散阅史记_老子韩非列传第三