因为该方法的执行不会使页面刷新,而方法(loadUrl )的执行则会使页面刷新。

Android 4.4 后才可使用

仅java代码不同,可以接收JS函数的返回值

public class MainActivity extends Activity {

WebView webView;

Button buttonLeft, buttonRight;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

webView = findViewById(R.id.webview);

buttonLeft = findViewById(R.id.btnLeft);

buttonRight = findViewById(R.id.btnRight);

WebSettings webSettings = webView.getSettings();

//允许使用JS

webSettings.setJavaScriptEnabled(true);

// 设置允许JS弹窗

webSettings.setJavaScriptCanOpenWindowsAutomatically(true);

webView.loadUrl("file:///android_asset/index.html");

buttonLeft.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

webView.post(new Runnable() {

@Override

public void run() {

webView.evaluateJavascript("javascript:callJS()", new ValueCallback() {

@Override

public void onReceiveValue(String s) {

//将button显示的文字改成JS返回的字符串

buttonLeft.setText(s);

}

});

}

});

}

});

webView.setWebChromeClient(new WebChromeClient() {

@Override

public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {

AlertDialog.Builder b = new AlertDialog.Builder(MainActivity.this);

b.setTitle("alert1");

b.setMessage(message);

b.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialogInterface, int i) {

result.confirm();

}

});

b.setCancelable(false);

b.create().show();

return true;

}

});

}

}

android evaluater_android通过WebView的evaluateJavascript()调用JS相关推荐

  1. android通过WebView的evaluateJavascript()调用JS

    因为该方法的执行不会使页面刷新,而方法(loadUrl )的执行则会使页面刷新. Android 4.4 后才可使用 同:https://www.cnblogs.com/liuyj-vv/p/9583 ...

  2. js调用android代码怎么写,Android端使用WebView注入一段js代码实现js调用android

    需求:为网页上个链接增加点击事件,但是这个链接无法增加js代码 url:http://public.rongcloud.cn/view/D4F444BE2D94D760329F3CF38B4AE35C ...

  3. android java 调用js,Android中Java和JavaScript交互实例

    Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本.本文将介绍如何实现Java代码和Javascript代码的相互调用. 如 ...

  4. Android开发-WebView中实现Android调用JS JS调用Android 【三】

    老早之前就想总结下Webview相关的知识点了,因为互联网大潮中,很多APP都会使用到Webview,像那些不计其数的电商APP,无一例外的使用Webview:或者一些非电商APP中的像广告页面,注册 ...

  5. android封装全局调用的toast_【Android】Android中WebView实现Java与JS交互

    现在混合式开发是大趋势,H5不断蚕食移动互联网的份额,有的公司甚至只用H5就搞了一个APP,我们搞Android的不说会点H5,至少要懂怎么和H5(和JavaScript)交互,费话不多说. 一.先看 ...

  6. Android WebView 调用JS方法获取返回值

    一.Android4.4+ 如果你项目的minSdkVersion 为4.4 以上,那么你可以直接通过WebView的evaluateJavascript()方法 拿到JS方法的返回值 webview ...

  7. Android开发之Webview中原生与JS交互

    文章目录 概述 使用场景 交互方式 Java调用JS代码 JS调用Java代码 总结 概述 由于手机硬件资源的快速提升,使得采用混合开发的可能性逐渐成为现实并且流行起来.Android开发中最为简单的 ...

  8. Android webview和HTML的JS交互

    1.webView加载页面 我们都知道在Android中是通过webView来加载html页面的,根据HTML文件所在的位置不同写法也不同: //例如:加载assets文件夹下的test.html页面 ...

  9. [转]JS调用Android里面的方法,Android调用JS里面的方法

    FROM : http://blog.csdn.net/hj563308597/article/details/45197709 Android WebView 在公司Android的开发过程中遇到一 ...

最新文章

  1. (LeetCode 153)Find Minimum in Rotated Sorted Array
  2. 2021年新高考八省联考成绩查询福建,2021福建八省联考成绩查询时间
  3. 工作流调度系统介绍,常见工作流调度系统对比,azkaban与Oozie对比,Azkaban介绍与特性(来自学习笔记)
  4. LINUX中常用操作命令
  5. python当用户输入的不是整数_当用户输入字符串而不是整数时,如何保护我的python代码?...
  6. Linux学习之后台运行进程
  7. Spark的新方案UnifiedMemoryManager内存管理模型分析
  8. 叫板抖音,运营商入局短视频
  9. Github Coding Developer Book For LiuGuiLinAndroid
  10. windows主题Mac OS 风格 BigSur主题美化
  11. 雷锋实验室:Evernote的中国门徒
  12. 遇到了javah无法访问类的问题
  13. 30分钟读懂Linux五大模块内核源码,内核整体架构设计
  14. 【码农学编曲】吉他伴奏
  15. MySQL 8.0 物理备份xtrabackup简介
  16. 驻极体式MIC电路设计
  17. 自媒体必做的一个平台
  18. 防止前端重复提交表单
  19. [作业] 六角填数问题
  20. Java基础题(错题小结)

热门文章

  1. 用终端访问路由器设置端口开发_Serial for Mac(全功能串行终端管理软件)
  2. 推荐业务多目标建模算法介绍:MMOE、OMOE、Shared-Bottom
  3. github关联域名,创建个人网站教程终结篇
  4. “分库分表 ?选型和流程要慎重,否则会失控
  5. spring源码分析之freemarker整合
  6. 深入探讨 java.lang.ref 包--转
  7. Linux服务器集群系统(一)--转
  8. 产品分析报告|读书新贵——《网易蜗牛读书》
  9. 以太坊钱包1-Android-创建钱包
  10. 一流投资人会关注什么样的区块链初创公司?