Android與html5交互 -- WebView使用(一)

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這個方法 彈出窗口

相關文章
相關標籤/搜索