Android中使用WebView可加載html5,具體步驟以下:javascript
(前提:本地Html5存放到assets文件夾下)html
一:使用WebView加載Html5,簡單顯示html5
1:清單文件中添加訪問權限:android.permission.INTERNETjava
2:Activity中生成WebView組件,佈局文件中添加<WebView>控件,或者動態添加android
3:本地文件html5中有js的話,webview必須設置支持js的屬性:webview.getSettings().setJavaScriptEnabled(true); 這裏能夠設置其它屬性,隨後附上web
4:使用WebView加載html5文件 :webView.loadUrl("file:///android_asset/XX.html");json
二: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這個方法 彈出窗口