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

來源:互聯網
上載者:User

標籤:

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使用(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.