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

歡迎訪問 生活随笔!

生活随笔

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

Android

Android和JS之间互相调用方法并传递参数

發布時間:2025/3/19 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android和JS之间互相调用方法并传递参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

Android中使用WebView加載本地html并支持運行JS代碼和支持縮放:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/118637633

在上面實現使用加載html顯示之后,怎樣進行互相調用方法和傳遞參數。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

Android中調用JS方法

首先在Android中新增一個按鈕,并設置其點擊事件

??????? //Android中調用JS方法Button button = findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {callJs();}});

點擊事件中調用了callJs方法,然后再activity中實現該方法

??? @SuppressLint("SetJavaScriptEnabled")public void callJs(){webView.loadUrl("javascript:toAndroidCall()");}

然后在JS中實現該方法

??????? //Android中調用JS方法function toAndroidCall(){alert("Android中調用JS方法成功");}

效果

?

如果要傳遞參數可以

??? @SuppressLint("SetJavaScriptEnabled")public void callJs(){String message = "公眾號:霸道的程序猿";webView.loadUrl("javascript:toAndroidCallWithParam('"+message+"')");}

然后在JS端

??????? //Android中調用JS方法-帶參數function toAndroidCallWithParam(message){alert("Android中調用JS方法成功,收到參數:"+message);}

效果

?

JS中調用Android的方法

在Android中實現方法

??? //JS調用Android方法@JavascriptInterfacepublic void jsCallAndroid(){Toast.makeText(this,"JS調用Android方法成功",Toast.LENGTH_LONG).show();}

要加注解,然后還需要給webView進行配置

??????? //增加JS接口webView.addJavascriptInterface(this,"badao");

增加一個JS接口

然后在JS中新增一個按鈕

<button id="button" onclick="toCallAndroid()">JS調用Android方法</button>

并設置點擊事件

??????? //JS中調用Android方法function toCallAndroid(){badao.jsCallAndroid();}

效果

?

?

如果要傳遞參數

??? //JS調用Android方法-帶參數@JavascriptInterfacepublic void jsCallAndroidWithParam(String message){Toast.makeText(this,"JS調用Android方法成功,收到參數:"+message,Toast.LENGTH_LONG).show();}

在JS中

??????? //JS中調用Android方法function toCallAndroidWithParam(){badao.jsCallAndroidWithParam("霸道的程序猿");}

效果

?

MainActivity完整代碼

?

package com.badao.webviewdemo;import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint; import android.os.Bundle; import android.view.View; import android.webkit.JavascriptInterface; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.widget.Button; import android.widget.Toast;public class MainActivity extends AppCompatActivity {WebView webView = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//獲取webviewwebView = findViewById(R.id.webview);//設置為ChromeClinet 才能執行js代碼WebChromeClient webChromeClient = new WebChromeClient();webView.setWebChromeClient(webChromeClient);//設置開啟js支持webView.getSettings().setJavaScriptEnabled(true);// 是否支持縮放webView.getSettings().setSupportZoom(true);//加載本地html//webView.loadUrl("file:///android_asset/offLineTileMap.html");webView.loadUrl("file:///android_asset/demo.html");//Android中調用JS方法Button button = findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {callJs();}});//增加JS接口webView.addJavascriptInterface(this,"badao");}@SuppressLint("SetJavaScriptEnabled")public void callJs(){//webView.loadUrl("javascript:toAndroidCall()");String message = "公眾號:霸道的程序猿";webView.loadUrl("javascript:toAndroidCallWithParam('"+message+"')");}//JS調用Android方法@JavascriptInterfacepublic void jsCallAndroid(){Toast.makeText(this,"JS調用Android方法成功",Toast.LENGTH_LONG).show();}//JS調用Android方法-帶參數@JavascriptInterfacepublic void jsCallAndroidWithParam(String message){Toast.makeText(this,"JS調用Android方法成功,收到參數:"+message,Toast.LENGTH_LONG).show();} }

總結

以上是生活随笔為你收集整理的Android和JS之间互相调用方法并传递参数的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美性受黑人性爽 | 国产精品一亚洲av日韩av欧 | 黄色激情在线观看 | 密桃av在线 | 国产精品色 | 先锋av在线资源 | 一级黄色大片网站 | 日本作爱视频 | 国产成人午夜视频 | 国产另类xxxxhd高清 | 男人的天堂一区 | 亚洲人成网站999久久久综合 | 99热在线这里只有精品 | 日韩高清在线观看一区 | 国产视频你懂的 | 亚洲午夜精品一区二区三区他趣 | 亚洲精品男女 | 国产精品电影网站 | 蜜桃视频一区二区在线观看 | 久久99久久99精品中文字幕 | 久久福利国产 | 牲欲强的熟妇农村老妇女视频 | 亚洲品质自拍视频网站 | 四虎影视免费 | 国产一区不卡在线 | 亚洲美女偷拍 | 713电影免费播放国语 | 欧美a在线视频 | 久久艹中文字幕 | 亚洲天堂av影院 | 放荡的少妇2欧美版 | 两个小y头稚嫩紧窄h文 | 成 年人 黄 色 片 | 久热网站 | 日韩精品无码一区二区 | 偷自拍| 一区二区久久精品66国产精品 | 美女撒尿无遮挡网站 | 538在线精品 | 一个色的综合 | 国产又黄又大又爽 | 91丝袜一区在线观看 | 免费av视屏| 手机在线永久免费观看av片 | 啄木乌欧美一区二区三区 | 久久精品黄 | jlzzjlzz亚洲女人18 | 巨乳动漫美女 | 私密spa按摩按到高潮 | 最新日韩av | 成人做受黄大片 | 国产一二三四五区 | 亚洲h视频在线观看 | 小萝莉末成年一区二区 | 传媒视频在线观看 | 日韩精品一二三四区 | 日本视频在线免费观看 | 日本一道在线 | 国产色在线观看 | 国产高清在线不卡 | 香蕉视频国产在线观看 | 天海翼中文字幕 | 激情aaa| 日日干日日 | 哺乳喂奶一二三区乳 | 成人免费大片黄在线播放 | 孕妇爱爱视频 | 天天操夜夜拍 | 女生下面流水视频 | 久久综合亚洲 | 性淫影院| 黄av在线| 日韩精品中文字 | 五月情网| 欧美日韩二区三区 | 亚洲第一综合色 | 欧美激情片一区二区 | 亚洲高清在线看 | 中文字幕第一页亚洲 | 日本bbwbbw| 看黄色大片| fc2成人免费视频 | 欧美另类天堂 | 在线国产毛片 | 完全免费在线视频 | 亚洲国产精品国自产拍av | 爱爱一区二区三区 | 久久婷五月 | 扒开伸进免费视频 | a天堂资源| 亚洲一二三级 | 日本一本在线观看 | 国产精品久久久久不卡 | 国产欧美一区二区精品性色 | 3p视频在线| 国产精品一区二区性色av | 嫩模被强到高潮呻吟不断 | 国产激情自拍视频 | 免费激情片 |