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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android java 调用js_android WebApp 集成方式怎么使用java调用js

發布時間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android java 调用js_android WebApp 集成方式怎么使用java调用js 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WebAPP集成,本地打包,有兩種方式java js通信

1.DCloud插件模式,參考SDK DEMO的H5Plugin,

Java:繼承StandardFeature寫接口。

public class DBControlPlugin extends StandardFeature

{

public void PluginTestFunction(IWebview pWebview, JSONArray array)

{

// 原生代碼中獲取JS層傳遞的參數,

// 參數的獲取順序與JS層傳遞的順序一致

Log.d("DBControlPlugin", "PluginTestFunction");

String CallBackID = array.optString(0);

JSONArray newArray = new JSONArray();

newArray.put(array.optString(1));

newArray.put(array.optString(2));

newArray.put(array.optString(3));

newArray.put(array.optString(4));

// 調用方法將原生代碼的執行結果返回給js層并觸發相應的JS層回調函數

JSUtil.execCallback(pWebview, CallBackID, newArray, JSUtil.OK, false);

}

}

DCloud配置dcloud_properties.xml,增加

name="DBControlPlugin "

value="com.example.H5PlusPlugin.DBControlPlugin " />

注意:配置文件中的name就是exec的第一個參數,value是java的類位置。

JS代碼:window.plus.bridge.exec("DBControlPlugin", "PluginTestFunction", [callbackID, Argus1, Argus2, Argus3, Argus4]);

java調用js:JSUtil.execCallback可以調用js

js調用java: window.plus.bridge.exec

2.WebView的addJavascriptInterface方式,網上很多事例,此處只講關鍵代碼:

webView = SDK.obatinFirstPage(app).obtainWebview();

webView.getSettings().setJavaScriptEnabled(true);

webView.addJavascriptInterface(new JSInterface(), "jsi");

java調用js: webView.loadUrl("javascript:jsText('"+text+"')");

js調用java: jsi.func

總結,2種方案都可以實現Native和JS互相調用通信。

總結

以上是生活随笔為你收集整理的android java 调用js_android WebApp 集成方式怎么使用java调用js的全部內容,希望文章能夠幫你解決所遇到的問題。

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