? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Android與JS交互
1.為什么要跟JS交互案站?
? ? ? ? ? ? ? ? 因為Android頁面布局很負(fù)責(zé)并且是動態(tài)的時候,Android本身控件就變得不那么靈活了拯啦,所以我們要借助于強大得網(wǎng)頁才能實現(xiàn)宗苍。但是在操作html頁面的同時也需要與Android其他組件存在交互又活,用戶點擊頁面內(nèi)的按鈕后兽泄,頁面調(diào)用Android內(nèi)的組件函數(shù)或由android組件調(diào)用JS代碼去更新頁面。
2. 怎么交互乏屯?
交互的意思就是:
Android去調(diào)用Js的代碼根时;
Js調(diào)用Android的代碼;
二者相互產(chǎn)生關(guān)聯(lián)的就是WebView;
3.? ? WebView的用法:
第一種是:
在Activity中實例化WebView組件:WebView webview=new WebView(this);
第二種是:
在布局中創(chuàng)建WebView控件辰晕,在Activity中獲取該控件蛤迎;
注意使用WebView需要在清單文件中添加網(wǎng)絡(luò)權(quán)限;
4.? ? ? Android調(diào)用JS代碼方法:
通過WebView中的loadUrl()方法
使用WebView的evaluateJavasrcipt()方法
5.? ? ? ? JS調(diào)用Android的方法:
?1.通過WebView的addJavascriptInterface()進行對象映射
2.通過WebViewClient的shouldOverrideUrlLoading()方法回調(diào)攔截Url
3.通過 WebChromeClient 的onJsAlert()伞芹、onJsConfirm()忘苛、onJsPrompt()方法回調(diào)攔截? ? ? ? ? ? ? ? ? ? ? ? ? ?
? JS對話框alert()蝉娜、confirm()唱较、prompt()消息
最近有點忙扎唾,下次更新代碼