日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android WebView 与 JS 交互

發布時間:2025/6/15 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android WebView 与 JS 交互 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

?在android activity webView的使用,activity中執行html中的js 方法, 和在html 中 調用activity 中的java方法?

如圖 :?

上圖中 點擊了 ” 調用html中的js 方法“ ?后的 效果

上圖中 點擊了 ?html 中的 ”調用java中的方法“ ?后的 效果 這里是調用java 中的方法 彈出了一個 對話框

在android開發中 有的程序會使用webView調用外部的html 界面,有界面 就當然有交互。 嘻嘻?

注意點:

?AndroidManifest.xml中必須注冊"android.permission.INTERNET"進行權限許可,(如果只是使用本地HTML,可以不用注冊許可權限)否則會出Web page not available錯誤

webView的使用方式這里就不做介紹了. ?但需要注意的一點是 ,要使用js 必須開啟webView的js 支持, 否則webView是不支持js的喔

開啟WebView 的js方法

WebView webview=(WebView)findViewById(R.id.webview);//加上這句話才能使用javascript方法 ?? webview.getSettings().setJavaScriptEnabled(true);

首先我們 先看看 如何在在java中調用 html中的js 方法?

1: ?首先創建一個測試的html?

代碼如下?

<html><head><script type="text/javascript">function updateHtml(){document.getElementById("content").innerHTML = "你通過 android 中的控件調用了html 中js 的方法";}</script></head><body>this is my html <a onClick="window.login.startFunction()" href="";>調用java中個的方法</a><span id="content"></span></body> </html>

把上面代碼保存為 demo.html 放到android 項目下面assets目錄下面

上面的代碼中,包含了一個js 方法 ,我們接下來看看 如何在 activity中調用這個js 方法。 直接看代碼 :

布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"?><WebView?android:layout_weight="9"?android:id="@+id/webview" ?android:layout_width="fill_parent" ??android:layout_height="fill_parent" />?<Buttonandroid:layout_weight="1"android:id="@+id/button"android:layout_width="fill_parent"?android:layout_height="wrap_content"?android:text="調用html中的js 方法" />?<Buttonandroid:layout_weight="1"android:id="@+id/button1"android:layout_width="fill_parent"?android:layout_height="wrap_content"?android:text="重新加載html" />?</LinearLayout>

程序代碼

public class MainActivity extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//獲取webView 控件final WebView webview=(WebView)findViewById(R.id.webview);//加上這句話才能使用javascript方法 ?webview.getSettings().setJavaScriptEnabled(true);//加載公網中的 html界面//webview.loadUrl("http://128.128.191.62/cn/mobile/geturl.html");//加載sdcard中的 html界面webview.loadUrl("file:///sdcard/demo.html");?//加載assets目錄下面的demo.html 界面webview.loadUrl("file:///android_asset/demo.html");Button button=(Button)findViewById(R.id.button); //獲取button控件 即"調用html中的js方法" 按鈕//給button添加事件響應,執行JavaScript的fillContent()方法 ?button.setOnClickListener(new Button.OnClickListener() { ?public void onClick(View v) {webview.loadUrl("javascript:updateHtml()"); ?}}); ?Button button1=(Button)findViewById(R.id.button1);//獲取button1控件 即"重新加載html "按鈕//給button添加事件響應,執行JavaScript的fillContent()方法 ?button1.setOnClickListener(new Button.OnClickListener() { ?public void onClick(View v) {Log.d("MainActivity","button1 OnClick");webview.loadUrl("http://www.163.com");?}});} }

上面代碼中 藍色部分代碼就是調用的 html中的js 方法 , 點擊?調用html中的js方法 ?按鈕會更新html內容。?

那反過來 又如何 在 html中調用java 里面的方法 呢 , 同樣好簡單的 , 我們看看下面的 代碼:

public class MainActivity extends Activity {/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//獲取webView 控件final WebView webview=(WebView)findViewById(R.id.webview);//加上這句話才能使用javascript方法 ?webview.getSettings().setJavaScriptEnabled(true);//webview.loadUrl("http://128.128.191.62/cn/mobile/geturl.html");//加載assets目錄下面的demo.html 界面webview.loadUrl("file:///android_asset/demo.html");Button button=(Button)findViewById(R.id.button); //獲取button控件 即"調用html中的js方法" 按鈕//給button添加事件響應,執行JavaScript的fillContent()方法 ?button.setOnClickListener(new Button.OnClickListener() { ?public void onClick(View v) {Log.d("MainActivity","button OnClick");webview.loadUrl("javascript:showDialog()"); ?}}); ?Button button1=(Button)findViewById(R.id.button1);//獲取button1控件 即"重新加載html "按鈕//給button添加事件響應,執行JavaScript的fillContent()方法 ?button1.setOnClickListener(new Button.OnClickListener() { ?public void onClick(View v) {Log.d("MainActivity","button1 OnClick");webview.loadUrl("http://128.128.191.62/cn/mobile/geturl.html");?//return?}});//增加接口方法,讓html頁面調用 ? 第二個參數為別名,在html 中調用會使用webview.addJavascriptInterface(this,"login"); ?}public void startFunction(){AlertDialog.Builder ab=new AlertDialog.Builder(MainActivity.this);ab.setTitle("提示");ab.setMessage("通過js 調用了 java 中的方法");ab.setPositiveButton("確定", new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});ab.create().show();}}

上面藍色代碼部分 ?定義了java一個方法 并且在主線程中將本身的java 實例 添加到 webView 中去,這樣就可以在 在 html中 使用 window.login.startFunction()就可以在html 中調用java 中間的方法 。 ?

?趕快去試試吧 ,?代碼 下載地址

?

轉載于:https://my.oschina.net/JiangTun/blog/654700

總結

以上是生活随笔為你收集整理的Android WebView 与 JS 交互的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产污视频在线看 | 饥渴少妇勾引水电工av | 91精品推荐 | 欧美伊人影院 | 日本成人福利视频 | 男人午夜影院 | 成人毛片在线免费观看 | 欧美国产二区 | av福利在线 | 不卡福利视频 | 91美女精品 | 九色porny自拍 | 免费毛片基地 | 九九爱爱视频 | 一区中文字幕 | 色偷偷噜噜噜亚洲男人 | 亚洲欧洲久久 | 国产高清免费在线观看 | 欧美丝袜脚交 | 国产黄a三级三级三级 | 国产精品久久婷婷 | 五月天视频网 | 午夜三级视频 | 欧美高清视频一区二区 | 成人亚洲区 | 精品视频在线一区 | 五月激情久久 | 国产精品国产三级国产普通话对白 | 精品国产18久久久久久二百 | 91九色网站 | 国产成人精品一区二区三区在线 | 懂色av蜜臀av粉嫩av喷吹 | 蜜臀av性久久久久av蜜臀妖精 | 91美女精品 | 夜夜操狠狠操 | 日韩成人激情视频 | 国产精品久久久久毛片 | 久久人人爽人人爽人人片亚洲 | 欧美特黄一区二区三区 | 天天操操夜夜操操 | 日韩精品一区二区在线播放 | 国产无遮掩 | 欧美日韩精品一区二区三区四区 | 欧美激情 在线 | 亚洲精品久久久久久久久 | 玖玖久久 | 欧美激情999 | 成人精品亚洲 | 日韩精品短片 | 天堂av电影在线观看 | 一级片欧美 | 一个人看的www片免费高清中文 | 亚洲1024 | 日韩综合一区 | 全部免费毛片在线播放 | 国产日韩一区二区三免费高清 | 91久久久久国产一区二区 | 免费的性爱视频 | 中文字幕国产视频 | 一曲二曲三曲在线观看中文字幕动漫 | 免费在线看黄的网站 | 国产高清免费在线播放 | 裸体男女树林做爰 | 色综合天天综合综合国产 | 在线www | 男人天堂网站 | 视频一区在线免费观看 | 国产片在线 | 尤物av在线| 欧美人xxx | 国产乱真实合集 | 乱一色一乱一性一视频 | 成人av网址大全 | 日日夜夜狠狠爱 | 日本福利一区 | 91日韩 | 熟妇高潮一区二区高潮 | 国产婷婷一区二区三区 | 国产精品分类 | 狠狠操狠狠摸 | 亚洲精品高清在线观看 | 喷水少妇| 色玖玖综合 | 午夜黄色小视频 | 国产视频在线看 | 亚洲美女啪啪 | 黑丝国产在线 | 韩国精品在线 | 人人干网站 | 久久综合色鬼 | 国产美女精品一区二区三区 | 国产精品极品白嫩在线 | 久久精品免费网站 | 日韩国产在线一区 | 日本三级久久久 | 日本吃奶摸下激烈网站动漫 | 国产日本视频 | 日本福利网站 | 国产成人免费视频网站 |