Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package samples.android.com.webtester;
- import android.annotation.SuppressLint;
- import android.app.ProgressDialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.graphics.Bitmap;
- import android.net.Uri;
- import android.net.http.SslError;
- import android.os.Build;
- import android.os.Handler;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.webkit.CookieManager;
- import android.webkit.JavascriptInterface;
- import android.webkit.SslErrorHandler;
- import android.webkit.WebChromeClient;
- import android.webkit.WebSettings;
- import android.webkit.WebView;
- import android.webkit.WebViewClient;
- import android.widget.Toast;
- public class MainActivity extends AppCompatActivity {
- private WebView mWebView;
- private ProgressDialog mProgressDialog;
- public void showProgressDialog(String msg) {
- if (mProgressDialog == null) {
- mProgressDialog = new ProgressDialog(this);
- mProgressDialog.setCancelable(false);
- }
- mProgressDialog.setMessage(msg);
- mProgressDialog.show();
- }
- public void hideProgressDialog() {
- if (mProgressDialog != null && mProgressDialog.isShowing()) {
- mProgressDialog.dismiss();
- }
- }
- @Override
- @JavascriptInterface
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- getSupportActionBar().setDisplayShowHomeEnabled(true);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- //make sure you cast the web view before using loadUrl() function :
- mWebView =(WebView)findViewById(R.id.webview);
- CookieManager.getInstance().setAcceptCookie(true);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- // If Android 6.0+ i must add support for Third Party Cookies
- CookieManager.getInstance().setAcceptThirdPartyCookies(mWebView, true);
- }
- mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
- mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
- //mWebView.getSettings().setPluginsEnabled(true);
- mWebView.getSettings().setSupportMultipleWindows(false);
- mWebView.getSettings().setSupportZoom(true);
- mWebView.setVerticalScrollBarEnabled(true);
- mWebView.setHorizontalScrollBarEnabled(true);
- mWebView.getSettings().setBuiltInZoomControls(true);
- mWebView.getSettings().setLoadWithOverviewMode(true);
- mWebView.getSettings().setUseWideViewPort(true);
- mWebView.getSettings().setUserAgentString("Android WebView");
- mWebView.getSettings().setDomStorageEnabled(true);
- mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
- mWebView.getSettings().setJavaScriptEnabled(true);
- mWebView.addJavascriptInterface(this, "Android");// add this only if required. Vulnerable to mitm attacks.
- //mWebView.addJavascriptInterface(this, "Android");// add this only if required. Vulnerable to mitm attacks.
- mWebView.getSettings().setLoadsImagesAutomatically(true);
- mWebView.getSettings().setAppCacheEnabled(true);
- mWebView.getSettings().setAllowFileAccess(true);
- mWebView.getSettings().setLoadWithOverviewMode(true);
- //mWebView.loadUrl("https://waveswallet.io");
- //mWebView.loadUrl(getIntent().getExtras().getString("URL"));
- //mWebView.loadUrl("https://waveswallet.io");
- mWebView.setWebChromeClient(new WebChromeClient());
- mWebView.setWebViewClient(new WebViewClient(){
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- if (Uri.parse(url).getHost().endsWith("icominter.com") ) {
- // This is my web site, so do not override; let my WebView load the page
- return false;
- }
- //Log.d("webview :" , Uri.parse(url).getHost());
- // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
- startActivity(intent);
- return true;
- }
- @Override
- public void onPageStarted(WebView view, String url, Bitmap favicon){
- // Page loading started
- // Do something
- showProgressDialog("Loading...");
- }
- @Override
- public void onPageFinished(WebView view, String url){
- // Page loading finished
- hideProgressDialog();
- }
- @Override
- public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error){
- handler.proceed();
- }
- });
- mWebView.loadUrl("https://waveswallet.io");
- //mWebView.loadUrl(getIntent().getExtras().getString("URL"));*/
- }
- @Override
- public boolean onSupportNavigateUp(){
- finish();
- return true;
- }
- @Override
- public void onDestroy() {
- super.onDestroy();
- this.mWebView.stopLoading();
- this.mWebView.setWebChromeClient(null);
- this.mWebView.setWebViewClient(null);
- this.mWebView.destroy();
- this.mWebView = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement