標籤:
Android中使用WebView可載入html5,具體步驟如下:
(前提:本地Html5存放到assets檔案夾下)
一:使用WebView載入Html5,簡單顯示
1:資訊清單檔中添加存取權限:android.permission.INTERNET
2:Activity中產生WebView組件,布局檔案中添加<WebView>控制項,或者動態添加
3:本地檔案html5中有js的話,webview必須設定支援js的屬性:webview.getSettings().setJavaScriptEnabled(true); 這裡可以設定其它屬性,隨後附上
4:使用WebView載入html5檔案 :webView.loadUrl("file:///android_asset/XX.html");
二:WebView與html5之間的互動
<1>js調用Android中的函數
1:webView.addJavascriptInterface(obj,str);
參數一:android中的執行個體對象
參數二:js中別名
註:如果js中調用此對象的某方法,須在此公有方法前加上註解@JavascriptInterface,否則訪問不了,目前只知道這種寫法只能調用對象的方法。
如果不加webView.setWebChromeClient()這個方法,js中的alert對話方塊將不會提示。
2:js中使用str.xx()/window.str.xx()調用android中的方法
(Android中的list須轉換成json的字串形式傳入到js中,用eval(json)進行擷取)
<2>anroid中調用js的方法
1:js中編寫帶參或不帶參的方法 如function init(){alert("js中方法顯示");}
2:用webView.loadUrl("javascript:init()");進行調用顯示即可
三:webView載入html5全螢幕顯示解決辦法
1:<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,initial-scale=1.0" user-scalable=no />
四:webView的屬性(必要的)
myWebView.getSettings().setJavaScriptEnabled(true);//可以使用js
myWebView.getSettings().setDefaultTextEncodingName("GBK");//設定編碼格式
myWebView.setWebViewClient(newWebViewClient());//限制在webview中開啟網頁,不用預設瀏覽器
myWebView.getSettings().setBuiltInZoomControls();//設定是否支援縮放
myWebView.addJavascriptInterface(obj,str);//向html頁面注入java對象,在Android4.2之
前並未限制此方法,根據java反射機製造成攻擊,所以在此版本之後則限制了js對java對象方法調用的權
限(必須聲明註解公用的方法才能被頁面調用)
轉載:http://blog.csdn.net/dongyaqin/article/details/50925388 不吃腥的貓部落格
只做學習交流用,給自己留個備份 ,只使用到了 加上註解@JavascriptInterface這個方法 快顯視窗
Android與html5互動 -- WebView使用(一)