日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

js android打电话,Android开发webview与js的交互总结【安卓巴士博文大赛】

發(fā)布時間:2024/3/26 Android 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js android打电话,Android开发webview与js的交互总结【安卓巴士博文大赛】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一些應用為了節(jié)省開發(fā)時間,會開用Android、iOS內嵌HTML方式進行開發(fā),在涉及到打電話、發(fā)短信這些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函數(shù),在函數(shù)里面執(zhí)行類似window.js交互接口名.js函數(shù)名()。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如有需要請動態(tài)傳參。

8、在web頁面加上瀏覽器判斷操作系統(tǒng)類型,并執(zhí)行對應的js函數(shù)。$(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的交互总结【安卓巴士博文大赛】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。