android javascript 调用activity
16lz
2021-01-25
WebView 里有一个addJavascriptInterface(Objectobj,StringinterfaceName)方法,object为一个实例对象,你想用javascript调用的函数写在这代码如下:
package com.webview;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.util.Log;import android.webkit.JsResult;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.widget.Toast;public class MainActivity extends Activity { private static final String LOG_TAG = "WebViewDemo"; private WebView mWebView; private Handler mHandler = new Handler(); @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); mWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = mWebView.getSettings(); webSettings.setSavePassword(false); webSettings.setSaveFormData(false); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(false); mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo"); mWebView.loadUrl("http://192.168.1.201:8080/java.html"); } final class DemoJavaScriptInterface { DemoJavaScriptInterface() { } /** * This is not called on the UI thread. Post a runnable to invoke * loadUrl on the UI thread. */ public void clickOnAndroid() { mHandler.post(new Runnable() { public void run() { // mWebView.loadUrl("javascript:wave()"); Toast.makeText(getBaseContext(), "123", Toast.LENGTH_SHORT).show(); } }); } } /** * Provides a hook for calling "alert" from javascript. Useful for * debugging your javascript. */ final class MyWebChromeClient extends WebChromeClient { @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { Log.d(LOG_TAG, message); result.confirm(); return true; } }}
在html里调用写法如下:
<a onClick="window.demo.clickOnAndroid()">click me</a>
更多相关文章
- Android之Handler的post注意事项
- 基于rk3288平台android5.1系统的wifi流程分析 ---- 打开wifi,扫描
- Android(安卓)源码分析-打电话和发短信
- Android仿硅谷商城实现购物车实例代码
- Android仿美团分类下拉菜单实例代码
- 笔记之Android(安卓)Bluetooth OOP 传送文件流程小记
- Android中TextClock中的一个abc函数
- Android(安卓)输入系统(二)EventHub
- Android(安卓)Audio 的播放