Project: Android-automation
package com.taobao.tmts.framework.app;
 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.Window; 
import android.webkit.WebChromeClient; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.widget.Button; 
import android.widget.ProgressBar; 
import android.widget.Toast; 
 
public class WebViewActivity extends Activity { 
 private static final String TAG = "WebViewActivity"
 private WebView webview; 
 private ProgressBar progressBar; 
 private Button button; 
 private static String jsResult; 
 
 private static final String URL = "http://www.taobao.com/"
 
 @Override 
 public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  getWindow().requestFeature(Window.FEATURE_PROGRESS); 
  this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
  Log.d("sysout""thread-->" + Thread.currentThread().getId()); 
  Log.d("sysout""activity-->" + Thread.currentThread().getName()); 
  setContentView(R.layout.webview_extend_layout); 
  initWebView(); 
   
  final Activity activity = this
 
  webview.setWebChromeClient(new WebChromeClient() { 
   public void onProgressChanged(WebView view, int progress) { 
    // Activities and WebViews measure progress with different 
    // scales. 
    // The progress meter will automatically disappear when we reach 
    // 100% 
    activity.setProgress(progress * 1000); 
   
  }); 
 
  webview.setWebViewClient(new WebViewClient() { 
   public void onReceivedError(WebView view, int errorCode, 
     String description, String failingUrl) { 
    Toast.makeText(activity, "Oh no! " + description, 
      Toast.LENGTH_LONG).show(); 
   
 
   @Override 
   public void onPageFinished(WebView view, String url) { 
    // TODO Auto-generated method stub 
    // webview.loadUrl("javascript:document.all.aftertest.style.color = 'red'"); 
    // webview.loadUrl("javascript:window.webdriver.showToast('<head>'+document.getElementById(\"txtMultiLine1\").value+'</head>');"); 
    // webview.loadUrl("javascript:window.webdriver.resultAvailable('<head>'+document+'</head>');"); 
    // String string = interface1.getResult(); 
    // Log.d("Mywebview", "yes:" + string); 
    // String script = 
    // Uri.encode("<script>var d=document.getElementById(\"link_id\");d.innerHTML;</script>"); 
    // String script = 
    // "<script>var d=document.getElementById(\"link_id\");d.innerHTML;</script>" 
    // ; 
    // webview.loadUrl("javascript:function b(){var a=document.getElementById('link_id');return a.innerHTML};"); 
    // webview.loadUrl("javascript:window.nativeApp.back(b())"); 
    progressBar.setVisibility(View.GONE); 
    button.setVisibility(View.VISIBLE); 
   
 
   @Override 
   public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    return super.shouldOverrideUrlLoading(view, url); 
   
 
  }); 
 
  // webview.loadUrl("file:///sdcard/android_webview_html/item_detail-0db2-null.jhtml.htm"); 
  // webview.loadUrl("file:///sdcard/android_webview_html/textfields1.html"); 
  // webview.loadUrl("file:///sdcard/android_webview_html/link1.html"); 
  webview.loadUrl(URL); 
  webview.clearCache(true); 
 
  // webview.set 
  // JavascriptExecutor executor = new JavascriptExecutor(); 
  // final JavascriptInterface interface1 = new 
  // JavascriptInterface(this,executor); 
  // 
  // webview.addJavascriptInterface(interface1, "GoBackAction"); 
 
 
  
 private void initWebView() { 
  View parentView = findViewById(R.id.webview_extend); 
 
  progressBar = (ProgressBar) parentView.findViewById(R.id.my_progressbar); 
  button = (Button) findViewById(R.id.webview_button); 
  button.setVisibility(View.GONE); 
   
  button.setOnClickListener(new OnClickListener() { 
    
   @Override 
   public void onClick(View v) { 
    Intent intent = new Intent(); 
    intent.setClass(WebViewActivity.this, WebViewActivity2.class); 
    startActivity(intent); 
   
  }); 
 
  webview = (WebView) parentView.findViewById(R.id.mywebview); 
  webview.getSettings().setJavaScriptEnabled(true); 
  webview.getSettings().setBuiltInZoomControls(true); 
  webview.addJavascriptInterface(this"nativeApp"); 
 
 
 public void back(String result) { 
  Toast.makeText(this, result, 1000); 
  Log.d("TmtsActivity", result + "---native"); 
 
}