问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

webview 远程js调用本地java实现交互怎么做?

发布网友 发布时间:2022-04-24 20:26

我来回答

2个回答

热心网友 时间:2022-04-25 21:58

可以,只要你是用webview打开的,那么不管事远程还是本地,都可以通过webview与app的本地java代码进行交互。没有任何区别。

1、webview必须设置支持Javascript

mWebview.getSettings().setJavaScriptEnabled(true);

2、加进一个回调的代理类JavaScriptInterface,并给它一个调用的名称:ncp

mWebView.addJavascriptInterface(new JavaScriptInterface(), "ncp");
final class JavaScriptInterface { 

       public int callOnJs() {
                        
          return 1000;
       }
 
       public void callOnJs2(String mode) {
         //TODO
       }
   
  }

3、JS页面

<script type="text/javascript">  
        window.onload = function(){  
                document.getElementById('btn_1').addEventListener('click', onBtnClick, false);  
                var _int_value = window.ncp.callOnJs();  
                alert("get int from java:" + _int_value );  
        }  
        function onBtnClick() {  
                window.ncp.callOnJs2("click");  
        }  
  </script>

接下来就可以调用js方法了,

1、Java调用js方法

mWebView.loadUrl("javascript:onSaveCallback()");

 2、JS访问java方法

window.ncp.callOnJs2("click");

热心网友 时间:2022-04-25 23:16

你指的是Android里面吗:
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);

webView.addJavascriptInterface(new WebAppInterface(this), "Android");

//方法:
public class WebAppInterface
{
Context mContext;

/** Instantiate the interface and set the context */
WebAppInterface(Context c)
{
mContext = c;
}

/** Show a toast from the web page */
// 如果target 大于等于API 17,则需要加上如下注解
// @JavascriptInterface
public void showToast(String toast)
{
// Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
Toast.makeText(mContext, toast, Toast.LENGTH_LONG).show();
}
}

JS中:

<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />

<script type="text/javascript">
function showAndroidToast(toast)
{
Android.showToast(toast);
}
</script>

参考资料:http://www.cnblogs.com/mengdd/archive/2013/03/02/2940185.html
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么我在电脑上面下的电影在手机上面不显示? 为什么视频在手机里放不出来在电脑里放得出来? 求问bb霜什么牌‍子‍好 BB霜哪个牌子的比较好啊? 我用很多BB霜都过敏脱皮,该用哪个牌子的才能不过敏?拜托了各位 谢谢... 没有去继续教育会计证会不会被吊销? 会计证连续几年未继续教育会被吊销 我想请问,能不能从视频里抓出一段声音,然后保存,变成手机铃声的那种格式... 高中地理知识如何描述地貌特征 中国地理第一讲:自然地理之河流 新一届村两委如何打造一支群众满意度高,战斗力强的村两委班子队伍 如何处理webview与js之间交互 js获取webview参数 我在光启71团兼职被骗了,有没有人和我一样的经历 职业性硬皮病有哪些症状 系统性硬皮病哪里有专科医院 光启1615团兼职收299元入会费是真的吗 这个硬 皮 病早 期症 状有哪些? 硬皮病的诊断 光启平台刷单是骗人的吗 35岁妇女,有硬皮病史,现得肺炎,检查CT初步判定为间质性肺炎,该如何用药保护肺部。间质性肺炎 金华光启兼职要交会费?这个兼职是真的么? 硬皮病诊断依据有哪些? 局限性硬皮病可以结婚吗? 光启商贸兼职是真的吗 我这是雷诺氏综合症或是硬皮病吗? 医疗求助 怎样把pdf格式的文件上的汉字提取出来? 这硬皮怎么回事? 我女友的母亲是硬皮病患者,我很爱女友,但是家里人都不同意,怕这病遗传、隔代遗传。该怎么办 村级后备力量培养“四个一批”使用机制? webview js 与 java 交互 webview与js交互的参数有没有限制 村干部竞选落选都还能当后备干部培养吗? 请教js如何判断是webview打开还是浏览器 村级后备干部 与村官有啥不同 webview调用页面js的时候,怎么判断页面是否有这个js 村级后备干部几年一换 webview和js交互出现广告穿插怎样解决 ios ios webview js 会不会调方法 有没有适合减脂人士吃的零食推荐? 怎么在webview中访问本地js文件 村级后备干部考试都考什么东西啊 村里招后备干部 android java怎么调用webview中js方法 WebView中的JavaScript为什么不执行 减肥嘴馋能吃什么零食 魅族3怎么设多屏互动 有哪些食品或者零食,适合减肥的时候吃? 有减脂期适合吃的零食吗?