基本信息
源码名称:android 实现js交互(互相调用) 示例源码下载
源码大小:5.96M
文件格式:.zip
开发语言:Java
更新时间:2017-07-06
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
package jwzhangjie.com.webviewandjs; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.webkit.JavascriptInterface; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView)findViewById(R.id.webView); initWebView(); } private void initWebView(){ //设置编码 webView.getSettings().setDefaultTextEncodingName("utf-8"); //支持js webView.getSettings().setJavaScriptEnabled(true); //设置监听事件 webView.setWebViewClient(new JieWewViewClient()); //设置本地调用对象及其接口 webView.addJavascriptInterface(new JavaScriptObject(getApplicationContext()), "toAndroid"); //载入js webView.loadUrl("file:///android_asset/index.html"); } public void javaCallJsNoParams(View view){ webView.loadUrl("javascript:javaCallJsNoParamsMethod()"); } public void javaCallJsHasParams(View view){ webView.loadUrl("javascript:javaCallJsHasParamsMethod('" 123 "')"); } public class JavaScriptObject { Context mContxt; public JavaScriptObject(Context mContxt) { this.mContxt = mContxt; } @JavascriptInterface //sdk17版本以上加上注解 public void jsCallJavaNoParams() { Toast.makeText(mContxt, "Js调用Java方法(无参)", Toast.LENGTH_LONG).show(); } @JavascriptInterface //sdk17版本以上加上注解 public void jsCallJavaHasParams(String params) { Toast.makeText(mContxt, "Js调用Java方法(有参):" params, Toast.LENGTH_SHORT).show(); } } class JieWewViewClient extends WebViewClient{ /** * 如果紧跟着 * webView.loadUrl("file:///android_asset/index.html"); * 调用Js中的方法是不起作用的,必须页面加载完成才可以 */ @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); webView.loadUrl("javascript:javaCallJsHasParamsMethod('" 123 "')"); } } }