方法一:

*javascript in html:

<SCRIPT  LANGUAGE="JavaScript">function checkOrientation(){alert(window.orientation);};window.addEventListener('onorientationchange' in window ? 'orientationchange' : 'resize', checkOrientation, false);function print() {window.location="print://print";};function setting() {window.location="setting://setting";};</SCRIPT>

*java code:

public boolean shouldOverrideUrlLoading(WebView view, String url) {

AppUtils.LogD(url);

if (url.startsWith("mailto:")) {
MailTo mt = MailTo.parse(url);
Intent i = AppUtils.newEmailIntent(activity, mt.getTo(),
mt.getSubject(), mt.getBody(), mt.getCc());
activity.startActivity(i);
view.reload();
return true;
} else if (url.startsWith("print://print")) {

// show toast message for print button
Toast.makeText(activity, R.string.print_button_alert,
Toast.LENGTH_LONG).show();
return true;

} else if (url.startsWith("setting://setting")) {

// show setting dialog
((DetailViewControlerImpl) activity).openSettingsPage();
return true;
} else {
return false;
}
}



方法二:

javascript in html(mypage):

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>Actuate Viewer</TITLE>
<script type="text/javascript">
function change() {
document.getElementById("changePhoto").src = "file:///android_res/drawable/tablet_header_categories_on.png";
}
</script>
</HEAD>

<BODY>

<a onclick="window.mypage.clickOnAndroid()"> <img id="changePhoto"
src="file:///android_res/drawable/tablet_header_history_on.png" /><br> Click me! </a>
</BODY>
</HTML>


java code:

mWebView.addJavascriptInterface(new MyJavaScriptInterface(), "mypage");


public void onPageFinished(WebView view, String url) {

// 触发该方法

loadUrl("javascript:window.Android"
+ ".loadPageContents('" + BirtReportSettings.values[2]
+ "' , '" + BirtReportSettings.values[0] + "' , '"
+ BirtReportSettings.values[1] + "')");

super.onPageFinished(view, url);
}


final class MyJavaScriptInterface {
public MyJavaScriptInterface() {

}


/**
* call loadPageContents() in js, pass parameter volume, username,
* password
*/
public void loadPageContents(String volume, String username,
String password) {
loadUrl("javascript:loadPageContents('" + volume + "' , '"
+ username + "' , '" + password + "')");
}


public void clickOnAndroid() {
mHandler.post(new Runnable() {

@Override
public void run() {

mWebView.loadUrl("javascript:change()");
}
});
}
}






更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. android上一些方法的区别和用法的注意事项
  5. android实现字体闪烁动画的方法
  6. Android中dispatchDraw分析
  7. Android四大基本组件介绍与生命周期
  8. Android(安卓)MediaPlayer 常用方法介绍
  9. 在Fragment中设置控件点击方法,执行失败。

随机推荐

  1. 【Android】Android(安卓)代码判断是否获
  2. Android Studio Mac下载安装使用教程
  3. android中监听来电并生成悬浮窗口提示
  4. Android百度地图(三):百度地图画运动轨迹
  5. android WebView详解
  6. 使用百度地图SDK 这是之前版本 现在的sdk
  7. 基于 Android NDK 的学习之旅----- C调用
  8. Android的ActivityNotFoundException异常
  9. Android 多线程之 AsyncTask
  10. Android(安卓)-- Vibrator