webView 实现 与 javascript调用java方法(也称js调用native 方法) helloworld
来源:互联网 发布:货单打印软件 编辑:程序博客网 时间:2024/05/16 06:21
项目结构
效果图:
开发步骤:
1 创建普通的Java类:WebAppInterface.java
package com.exqw.adminx.myapplication;import android.content.Context;import android.webkit.JavascriptInterface;import android.widget.Toast;public class WebAppInterface { Context mContext; /** Instantiate the interface and set the context */ WebAppInterface(Context c) { mContext = c; } /** Show a toast from the web page */ @JavascriptInterface public void showToast(String toast) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); }}
2 activity_main.xml文件
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="com.exqw.adminx.myapplication.MainActivity" tools:showIn="@layout/activity_main"> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /></RelativeLayout>
3 MainActivity.java文件
package com.exqw.adminx.myapplication;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("http://www.baidu.com");// myWebView.loadUrl("file:///android_asset/hi.html"); myWebView.setWebViewClient(new MyWebViewClient()); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); myWebView.addJavascriptInterface(new WebAppInterface(this), "Android"); } private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (Uri.parse(url).getHost().equals("www.example.com")) { // This is my web site, so do not override; let my WebView load the page return false; } // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); return true; } }}
4 assets/index.html文件
<input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" /><script type="text/javascript"> function showAndroidToast(toast) { Android.showToast(toast); }</script>
0 0
- webView 实现 与 javascript调用java方法(也称js调用native 方法) helloworld
- webView 实现 与 javascript调用java方法(也称js调用native 方法) helloworld
- Android中webview js与native方法互相调用
- java 调用webview js方法, webview js调用java方法
- WebView调用Javascript方法
- android中webview调用js方法,js调用java方法
- Android中WebView实现Javascript调用Java类方法
- Android webview中JavaScript与Java方法的相互调用
- Android中WebView通过JavaScript调用Native方法
- webview中js调用java方法
- Android 实现WebView与JavaScript相互调用//支持javaScript对android方法调用 mWebView.addJavascriptInterface(n
- Java调用Native方法
- android webview native与JavaScript相互调用 java与JavaScript相互调用
- iOS native 调用 js 方法
- Android Studio Jni开发(二)实现Native调用java方法和Native调用Android API
- Android Webview和JavaScript交互--JS调用Android方法
- JAVA中native方法调用
- JAVA中native方法调用
- LCD编程实战1-LCD控制器初始化
- 李义山诗
- 备用
- 2016,再见!
- 2016,感恩,感谢,顿悟
- webView 实现 与 javascript调用java方法(也称js调用native 方法) helloworld
- linux的find命令
- Android应用之词典(一)
- Spring 框架参考文档(五)-The Web之Portlet MVC Framework
- (1506): 双塔问题
- android Bitmap 保存至本地
- 华为的手机usb调试,闪退后logCat日志被瞬间清空 。
- 将字符串顺序翻转,如: I am转成:am I
- Android 仿美团网,大众点评购买框悬浮效果之修改版