在加载url之前,使用 Webview的addJavascriptInterface方法注册本地代码和javascript的绑定。
比如js里面调用Toast.show(message),那么就需要在addJavascriptInterface中将本地的类绑定到js里面的类名Toast。
例如:mWebview.addJavascriptInterface(new ShowToast(), JS_BIND_NAME_TOAST);
在本地类ShowToast中实现public方法show(string str),并且在方法名签名加上@JavascriptInterface标签。
本地代码示例:
package com.example.javascriptcalldemo;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
public class Main