安卓WebView的使用以及原生和h5的交互

導語:

WebView: 就是一個用來展示網(wǎng)頁的視圖。在工作中或多或少的都有使用,最多的就是加載App中的活動頁扇单。目前接手的一個項目中,大量使用了WebView奠旺,還有不少Js和安卓原生的交互蜘澜。這里就在使用中記錄下其基本使用和遇到的問題。

一凉倚、使用步驟

  1. 配置訪問網(wǎng)絡(luò)的權(quán)限

    <uses-permission android:name="android.permission.INTERNET"/>
    
  2. 實例化WebView,設(shè)置要訪問的頁面

    webView = (WebView) findViewById(R.id.webView);      //實例化WebView
    webView.loadUrl("https://www.hao123.com/");          //加載網(wǎng)絡(luò)頁面
    webView.loadUrl("file:///android_asset/index.html"); //加載本地頁面,頁面放在項目assets目錄下
    
  3. 應用內(nèi)打開頁面

    WebSettings webSettings = mWebView.getSettings();
    /**在App內(nèi)部打開頁面  **/
    mWebView.setWebViewClient(new WebViewClient());
    

    經(jīng)過以上三步,便可以在應用中使用WebView加載網(wǎng)頁了

  4. 常用參數(shù)設(shè)置

//網(wǎng)頁適配手機屏幕嫂沉,以顯示完全
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);

//支持手勢縮放稽寒,并且隱藏丑丑的縮放按鈕
webSettings.setSupportZoom(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setDisplayZoomControls(false);

?

二、JavaScript調(diào)用安卓方法

  1. 如果我們訪問的頁面中有JavaScript趟章,在初始化時杏糙,設(shè)置WebView支持JavaScript

    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    
  2. 然后創(chuàng)建一個JavaScript接口,可以讓JavaScript和安卓交互蚓土。JavaScript便可以調(diào)用安卓本地的方法宏侍,執(zhí)行我們想要的操作

2.1 創(chuàng)建接口:

    private class TestJavaScriptInterface {

           @JavascriptInterface
           public void getUserInfo() {
               Toast.makeText(context, "點擊", Toast.LENGTH_LONG).show();

           }
       }    

? 2.2 為JavaScript注入這個接口

//第一個參數(shù):android和js交互的接口函數(shù)
//第二個參數(shù):android為橋接對象可隨意設(shè)置
mWebView.addJavascriptInterface(new TestJavaScriptInterface(), "android");

2.3 JavaScript代碼:

<script>
function onClick(){
    window.android.getUserInfo();
}
</script>

如下圖,點擊網(wǎng)頁上的按鈕后蜀漆,調(diào)用了我們本地的方法并且彈出了Toast谅河。證明JavaScript調(diào)用本地方法成功了。

微信截圖_20170720114550.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末确丢,一起剝皮案震驚了整個濱河市绷耍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鲜侥,老刑警劉巖褂始,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異描函,居然都是意外死亡崎苗,警方通過查閱死者的電腦和手機狐粱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胆数,“玉大人肌蜻,你說我怎么就攤上這事》牛” “怎么了宋欺?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長胰伍。 經(jīng)常有香客問我齿诞,道長,這世上最難降的妖魔是什么骂租? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任祷杈,我火速辦了婚禮,結(jié)果婚禮上渗饮,老公的妹妹穿的比我還像新娘但汞。我一直安慰自己,他們只是感情好互站,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布私蕾。 她就那樣靜靜地躺著,像睡著了一般胡桃。 火紅的嫁衣襯著肌膚如雪踩叭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天翠胰,我揣著相機與錄音容贝,去河邊找鬼。 笑死之景,一個胖子當著我的面吹牛斤富,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锻狗,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼满力,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了轻纪?” 一聲冷哼從身側(cè)響起脚囊,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎桐磁,沒想到半個月后悔耘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡我擂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年衬以,在試婚紗的時候發(fā)現(xiàn)自己被綠了缓艳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡看峻,死狀恐怖阶淘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情互妓,我是刑警寧澤溪窒,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站冯勉,受9級特大地震影響澈蚌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜灼狰,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一宛瞄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧交胚,春花似錦份汗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至熬词,卻和暖如春旁钧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荡澎。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工均践, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留晤锹,地道東北人摩幔。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像鞭铆,于是被迫代替她去往敵國和親或衡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容