Exemplo n.º 1
0
 @Override
 public void onDestroy() {
   if (mWebView != null) {
     mWebView.destroy();
     mWebView = null;
   }
   super.onDestroy();
 }
Exemplo n.º 2
0
 @Override
 protected void setToolbar() {
   super.setToolbar();
   mTitle = (TextView) getToolbar().findViewById(R.id.text_title);
   mClose = (TextView) getToolbar().findViewById(R.id.tv_close);
   mClose.setOnClickListener(
       new View.OnClickListener() {
         @Override
         public void onClick(View view) {
           finish();
         }
       });
 }
Exemplo n.º 3
0
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mProgressBar = (ProgressBar) findViewById(R.id.pb_loading);

    mWebView = (WebView) findViewById(R.id.webView);
    WebSettings settings = mWebView.getSettings();
    settings.setJavaScriptEnabled(true);
    //        mWebView.addJavascriptInterface(new JSInterface(), "JSInterface");
    settings.setSaveFormData(false);
    settings.setCacheMode(WebSettings.LOAD_NO_CACHE);

    mWebView.setWebChromeClient(
        new WebChromeClient() {
          @Override
          public void onProgressChanged(WebView view, int newProgress) {
            if (newProgress < 100) {
              mProgressBar.setVisibility(View.VISIBLE);
              mProgressBar.setProgress(newProgress);
            } else {
              mProgressBar.setVisibility(View.GONE);
            }
          }

          @Override
          public boolean onJsAlert(
              WebView view, String url, String message, final JsResult result) {
            // 构架一个builder来显示网页中的对话框
            AlertDialog.Builder builder = new AlertDialog.Builder(WebViewActivity.this);
            builder.setTitle("提示");
            builder.setMessage(message);
            builder.setPositiveButton(
                android.R.string.ok,
                new AlertDialog.OnClickListener() {
                  @Override
                  public void onClick(DialogInterface dialog, int which) {
                    // 点击确定按钮之后,继续执行网页中的操作
                    result.confirm();
                  }
                });
            builder.setCancelable(false);
            builder.create();
            builder.show();
            return true;
          }
        });
    mWebView.setWebViewClient(
        new WebViewClient() {
          public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // do your handling codes here, which url is the requested url
            // probably you need to open that url rather than redirect:
            Uri uri = Uri.parse(url);
            if (uri.getScheme().equals("octmobile")) {
              return false;
            } else {
              view.loadUrl(url);
              mClose.setVisibility(View.VISIBLE);
              return false;
            }
          }

          @Override
          public void onPageFinished(WebView view, String mLoadUrl) {
            mTitle.setText(view.getTitle());
            url = mLoadUrl;
          }

          @Override
          public void onReceivedError(
              WebView view, int errorCode, String description, String failingUrl) {
            CLog.d("WebView", errorCode + " " + description);
            try {
              view.loadUrl(
                  "file:///android_asset/error.html?url=" + URLEncoder.encode(url, "UTF-8"));
            } catch (UnsupportedEncodingException e) {
              e.printStackTrace();
            }
          }
        });

    if (savedInstanceState != null) {
      url = savedInstanceState.getString(DATA_URL);
    } else {
      decodeUrl(getIntent().getStringExtra(DATA_URL));
    }
    mWebView.loadUrl(url);
  }
Exemplo n.º 4
0
 @Override
 public void onPause() {
   super.onPause();
   mWebView.onPause();
 }
Exemplo n.º 5
0
 @Override
 public void onResume() {
   mWebView.onResume();
   super.onResume();
 }