Android中WebView使用5,js调java方法
来源:互联网 发布:mac移动桌面文件夹 编辑:程序博客网 时间:2024/06/06 17:08
效果图
项目结构
核心代码:
JsToJavaActivity中package com.zhh.android;import android.app.Activity;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.webkit.JavascriptInterface;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Button;import android.widget.Toast;/** * js调java * JavaAndJavaScriptCall.html */public class JsToJavaActivity extends Activity { private WebView wvNet; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_js_to_java); findViews(); initWebView(); } /** * 初始化控件 */ private void findViews() { wvNet = (WebView) findViewById(R.id.wvNet); } private void initWebView() { WebSettings webSettings = wvNet.getSettings(); //设置支持javaScript脚步语言 webSettings.setJavaScriptEnabled(true); //支持双击-前提是页面要支持才显示// webSettings.setUseWideViewPort(true); //支持缩放按钮-前提是页面要支持才显示 webSettings.setBuiltInZoomControls(true); //设置客户端-不跳转到默认浏览器中 wvNet.setWebViewClient(new WebViewClient());// js通过Android字段调用AndroidAndJsInterface中的任何方法// js中的onclick="window.Android.showToast()"// 第二个参数传Android,// showToast()对应AndroidAndJsInterface类中的方法名 wvNet.addJavascriptInterface(new AndroidAndJsInterface(), "Android"); //加载 assets下JavaAndJavaScriptCall.html //网络连接也可以 wvNet.loadUrl("file:///android_asset/JavaAndJavaScriptCall.html"); } class AndroidAndJsInterface { /** * 被js调用的方法 * js中的onclick="window.Android.showToast()"对应的方法名 * */ @JavascriptInterface public void showToast() { Toast.makeText(JsToJavaActivity.this, "js调用Java成功", Toast.LENGTH_SHORT).show(); } }}activity_js_to_java.xml中<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".JavaToJSActivity" android:orientation="vertical" > <WebView android:id="@+id/wvNet" android:layout_width="match_parent" android:layout_height="match_parent"> </WebView></LinearLayout>JavaAndJavaScriptCall.html中<html><head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <script type="text/javascript">function javaCallJs(){ document.getElementById("content").innerHTML += "<br\>java调用了js无参函数";}function javaCallJs(arg){ document.getElementById("content").innerHTML = ("欢迎:"+arg );} function showDialog(){ alert("谷粉们你好,我是来自javascript"); } </script></head><body><div align="left" id="content"> 谷粉</div><div align="right">光临尚硅谷</div><p><img src="http://atguigu.com/images/logo.gif"></p><input type="button" value="js调java" onclick="window.Android.showToast()" /></body></html>AndroidManifest.xml加权限http://download.csdn.net/download/zhaihaohao1/9980957<uses-permission android:name="android.permission.INTERNET" />注:例子演示的是本地的h5代码,链接也一样
源码下载:
阅读全文
0 0
- Android中WebView使用5,js调java方法
- Android中WebView使用4,java调js方法
- android中webview调用js方法,js调用java方法
- Android中WebView使用3,html掉android中的方法webView调用js中的方法
- Android中webview与JS交互、互调方法
- Android中WebView使用6,js调java实现播放视频
- webview中js调用java方法
- android webview中java和js互调
- android java与webview中js交互
- Android Webview中调用本地java方法
- android中WebView回调java的方法
- android webView js方法和java 方法交互
- android webView js方法和java 方法交互
- android webView js方法和java 方法交互
- Android中使用WebView调用java代码
- 【Android】Android中WebView实现Java与JS交互
- android中webView中js调用java无效的问题
- java 调用webview js方法, webview js调用java方法
- JavaScript基础之插入DOM
- IOS画虚线
- Android进程保活招式大全
- Android中使用AIDL时的跨进程回调—Server回调Client
- Volley的简单使用
- Android中WebView使用5,js调java方法
- C++primer plus day2
- PAT (Basic Level) Practise (中文) 1068. 万绿丛中一点红(20)
- PHP+MySql实现一个简单的留言板
- IPU相关知识(一)
- python调用dll 备忘录
- react中fetch获取数据的问题-----VM
- 形参和实参的区别
- Servlet的生命周期