HTML5技术

JavaScript调Java - ganchuanpu

字号+ 作者:H5之家 来源:H5之家 2016-10-26 13:00 我要评论( )

1.映射Java对象到JavaScript对象上 MainActivity.java package com.example.jsdemo;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.webkit.WebSettings;import android.webkit.WebView;public class MainActivit

1.映射Java对象到JavaScript对象上

MainActivity.java

package com.example.jsdemo; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.webkit.WebSettings; import android.webkit.WebView; public class MainActivity extends AppCompatActivity { private WebView wView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); wView = (WebView) findViewById(R.id.wView); wView.loadUrl("file:///android_asset/demo1.html"); WebSettings webSettings = wView.getSettings(); //①设置WebView允许调用js webSettings.setJavaScriptEnabled(true); webSettings.setDefaultTextEncodingName("UTF-8"); //②设置支持js调用java wView.addJavascriptInterface(new AndroidAndJSInterface(),"Android""); } class AndroidAndJSInterface{ @JavascriptInterface public void showToast(){ Toast.makeText(MainActivity.this, "我被js调用了", Toast.LENGTH_SHORT).show(); } } }

注意:解决该WebView.addJavascriptInterface接口不起作用的两种办法

①针对版本改成16

②在JavaScript接口类的方法加上@JavascriptInterface注解

2.JavaScript调用Java对象示例

demo1.html

<input type="button" value="点击Android被调用" />

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS) - Savorboard

    ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS) - Sav

    2016-10-20 10:00

  • Java进击C#——前言 - Aomi

    Java进击C#——前言 - Aomi

    2016-09-28 11:00

  • 升讯威微信营销系统开发实践:(3)中控服务器的设计 .Net 还是 Java? - sheng.chao

    升讯威微信营销系统开发实践:(3)中控服务器的设计 .Net 还是 Java

    2016-08-26 16:00

  • 使用纯前端JavaScript 实现Excel IO - 胖乎乎的小奶油

    使用纯前端JavaScript 实现Excel IO - 胖乎乎的小奶油

    2016-08-26 15:00

网友点评