ID #59416

Android WebChromeClient 和WebViewClient

Java代码
  1. package EOE.Android.demo1;    
  2.   
  3. import java.io.FileOutputStream;    
  4. import android.app.Activity;    
  5. import android.app.AlertDialog;    
  6. import android.app.AlertDialog.Builder;    
  7. import android.content.DialogInterface;    
  8. import android.graphics.Bitmap;    
  9. import android.graphics.Canvas;    
  10. import android.graphics.Picture;    
  11. import android.os.Bundle;    
  12. import android.view.KeyEvent;    
  13. import android.view.View;    
  14. import android.webkit.JsPromptResult;    
  15. import android.webkit.JsResult;    
  16. import android.webkit.WebChromeClient;    
  17. import android.webkit.WebViewClient;    
  18. import android.widget.Button;    
  19. import android.widget.Toast;    
  20.   
  21. public class MainWebView3 extends Activity {    
  22.   
  23. /** Called when the activity is first created. */    
  24.   
  25. @Override    
  26. public void onCreate(Bundle savedInstanceState) {    
  27.   
  28. super.onCreate(savedInstanceState);    
  29.   
  30. setContentView(R.layout.main);    
  31.   
  32. // 定义UI组件    
  33. Button b1 = (Button) findViewById(R.id.Button01);    
  34.   
  35. Button b2 = (Button) findViewById(R.id.Button02);    
  36.   
  37. Button b3 = (Button) findViewById(R.id.Button03);    
  38.   
  39. final WebView wv = (WebView) findViewById(R.id.WebView01);    
  40.   
  41. // 覆盖默认后退按钮的作用,替换成WebView里的查看历史页面    
  42.   
  43. wv.setOnKeyListener(new View.OnKeyListener() {    
  44.   
  45. @Override    
  46. public boolean onKey(View v, int keyCode, KeyEvent event) {    
  47.   
  48. if (event.getAction() == KeyEvent.ACTION_DOWN) {    
  49.   
  50. if ((keyCode == KeyEvent.KEYCODE_BACK) && wv.canGoBack()) {    
  51.   
  52. wv.goBack();    
  53.   
  54. return true;    
  55.   
  56. }    
  57.   
  58. }    
  59.   
  60. return false;    
  61.   
  62. }    
  63.   
  64. });    
  65.   
  66. // 设置支持Javascript    
  67.   
  68. wv.getSettings().setJavaScriptEnabled(true);    
  69.   
  70. // 定义并绑定按钮单击监听器    
  71.   
  72. b1.setOnClickListener(new  View.OnClickListener() {    
  73.   
  74. @Override    
  75. public void onClick(View v) {    
  76.   
  77. // 加载URL assets目录下的内容可以用 "[url=file:///android_asset]file:///android_asset[/url]" 前缀    
  78.   
  79. wv.loadUrl("[url=file:///android_asset/html/test1.html]file:///android_asset/html/test1.html[/url]");    
  80.   
  81. }    
  82.   
  83. });    
  84.   
  85. // 定义并绑定按钮单击监听器    
  86.   
  87. b2.setOnClickListener(new View.OnClickListener() {    
  88.   
  89. @Override    
  90. public void onClick(View v) {    
  91.   
  92.   
  93. // 加载URL assets目录下的内容可以用 "[url=file:///android_asset]file:///android_asset[/url]" 前缀    
  94.   
  95. wv.loadUrl("[url=file:///android_asset/html/test3.html]file:///android_asset/html/test3.html[/url]");    
  96.   
  97. }    
  98.   
  99. });    
  100.   
  101. // 定义并绑定按钮单击监听器    
  102.   
  103. b3.setOnClickListener(new View.OnClickListener() {    
  104.   
  105. @Override    
  106. public void onClick(View v) {    
  107.   
  108. Picture pic = wv.capturePicture();    
  109.   
  110. int width = pic.getWidth();    
  111.   
  112. int height = pic.getHeight();    
  113.   
  114. if (width > 0 && height > 0) {    
  115.   
  116. Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);    
  117.   
  118. Canvas canvas = new

2011-08-19 20:04
阅读:
I'm VC , Just U know Y
本站部分文章来源于互联网,版权归原作者所有。

延伸阅读:

Android JNI实例代码(二)

Android应用闪屏(Splash)

用Android Matrix类实现镜像方法

Android 加密解密

android 学习之发送附件(6种方法