Android中js和原生交互的示例代码

作者:小邦向前冲 时间:2022-12-25 16:04:57 

本文介绍了Android中js和原生交互的示例代码,分享给大家,具体如下:

加载webview的类


public class MainActivity extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   JavaScriptInterface JSInterface;
   WebView wv;
   wv = (WebView) findViewById(R.id.wv_test);
   wv.getSettings().setJavaScriptEnabled(true); ///------- 设置javascript 可用
   JSInterface = new JavaScriptInterface(this); ////------
   wv.addJavascriptInterface(JSInterface, "JSInterface"); // 设置js接口 第一个参数事件接口实例,第二个是实例在js中的别名,这个在js中会用到
   wv.loadUrl("file:///android_asset/test.html");
 }
}

JavaScriptInterface类


public class JavaScriptInterface {
 Context mContext;
 JavaScriptInterface(Context c) {
   mContext = c;
 }

@JavascriptInterface
 public void doSomething() {
  //点击webwiew网页里按钮时候要做的事

}
}

webview


<html>
<head>
<script type="text/javascript">
function displaymessage()
{
JSInterface.doSomething();
}
</script>
</head>
<body>
<form>
<input type="button" value="Click me!" onclick="displaymessage()" />
</form>
</body>
</html>

代码下载

Demo代码下载(AS导到Module里)

来源:http://www.jianshu.com/p/4651a2c1887a?utm_source=tuicool&utm_medium=referral

标签:Android,js,交互
0
投稿

猜你喜欢

  • android自定义imageview实现圆角图片

    2023-05-12 07:12:07
  • 解决springcloud中Feign导入依赖为unknow的情况

    2022-02-03 14:05:45
  • Spring Junit单元测试加载配置文件失败问题

    2022-06-05 13:37:48
  • C#创建自签名认证文件的方法

    2021-12-02 03:17:03
  • Java加载资源文件时的路径问题的解决办法

    2023-05-09 23:22:40
  • 详解Android Handler的使用

    2022-11-17 12:59:18
  • C#实现泛型动态循环数组队列的方法

    2022-11-03 05:05:42
  • 解决try-catch捕获异常信息后Spring事务失效的问题

    2022-11-15 03:17:33
  • JDK8时间相关类超详细总结(含多个实例)

    2022-03-25 05:30:33
  • 如何获取Android设备挂载的所有存储器

    2023-08-16 12:44:41
  • 死磕 java同步系列之synchronized解析

    2023-09-27 10:07:43
  • Flutter Android多窗口方案落地实战

    2023-01-30 04:55:07
  • 详解Android运行时权限及APP适配方法

    2021-06-15 11:06:17
  • Android利用CircleImageView实现圆形头像的方法

    2023-06-08 12:06:52
  • java删除文件和文件夹具体实现

    2023-09-26 20:46:55
  • Java构造代码块,静态代码块原理与用法实例分析

    2023-11-03 09:03:45
  • SpringBoot jackson提供对LocalDate的支持方式

    2022-01-06 00:06:51
  • 一文详解Jetpack Android新一代导航管理Navigation

    2022-12-08 20:40:14
  • 浅谈抛出异常和捕获异常的一些区别

    2023-10-19 15:25:24
  • grails不能运行fork模式解决方法

    2023-05-17 18:37:59
  • asp之家 软件编程 m.aspxhome.com