webview和h5的互動
阿新 • • 發佈:2019-02-18
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
contentWebView = (WebView) findViewById(R.id.webview);
msgView = (TextView) findViewById(R.id.msg);
// 啟用javascript
contentWebView.getSettings().setJavaScriptEnabled(true);
// 從assets目錄下面的載入html
contentWebView.loadUrl("file:///android_asset/wst.html");
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(btnClickListener);
contentWebView.addJavascriptInterface(this, "wst");
}
OnClickListener btnClickListener = new Button.OnClickListener() {
public void onClick(View v) {
// 無引數呼叫
contentWebView.loadUrl("javascript:javacalljs()");
// 傳遞引數呼叫
contentWebView.loadUrl("javascript:javacalljswithargs(" + "'hello world'" + ")");
}
};
public void startFunction() {
Toast.makeText(this, "js呼叫了java函式", Toast.LENGTH_SHORT).show();
runOnUiThread(new Runnable() {
@Override
public void run() {
msgView.setText(msgView.getText() + "\njs呼叫了java函式");
}
});
}
public void startFunction(final String str) {
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
runOnUiThread(new Runnable() {
@Override
public void run() {
msgView.setText(msgView.getText() + "\njs呼叫了java函式傳遞引數:" + str);
}
});
}