Advertisement
Guest User

Untitled

a guest
Nov 12th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.17 KB | None | 0 0
  1. package im.delight.android.examples.webview;
  2.  
  3. import android.annotation.SuppressLint;
  4.  
  5. import android.app.Activity;
  6. import android.app.NotificationManager;
  7. import android.content.Intent;
  8. import android.graphics.Bitmap;
  9. import android.net.Uri;
  10. import android.os.Build;
  11. import android.os.Bundle;
  12. import android.support.annotation.RequiresApi;
  13. import android.view.View;
  14. import android.webkit.JavascriptInterface;
  15. import android.webkit.SafeBrowsingResponse;
  16. import android.webkit.WebChromeClient;
  17. import android.webkit.WebResourceRequest;
  18. import android.webkit.WebSettings;
  19. import android.webkit.WebView;
  20. import android.webkit.WebViewClient;
  21. import android.widget.Toast;
  22.  
  23. import im.delight.android.webview.AdvancedWebView;
  24.  
  25. public class MainActivity extends Activity implements AdvancedWebView.Listener {
  26.  
  27.     private static final String TEST_PAGE_URL = "https://NECO-NECO-nemohu-ukazat-duvod-smlouva/messenger";
  28.     private AdvancedWebView mWebView;
  29.     private NotificationManager notifManager;
  30.  
  31.     @SuppressLint("JavascriptInterface")
  32.     @Override
  33.     protected void onCreate(Bundle savedInstanceState) {
  34.         Intent startIntent = new Intent(MainActivity.this, MainActivity.class);
  35.         startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  36.         MainActivity.this.startActivity(startIntent);
  37.  
  38.         super.onCreate(savedInstanceState);
  39.         setContentView(R.layout.activity_main);
  40.  
  41.         mWebView = (AdvancedWebView) findViewById(R.id.webview);
  42.         mWebView.setBackgroundResource(R.mipmap.ic_launcher);
  43.  
  44.         mWebView.setListener(this, this);
  45.         mWebView.setGeolocationEnabled(false);
  46.         mWebView.setMixedContentAllowed(true);
  47.         mWebView.setCookiesEnabled(true);
  48.         mWebView.getSettings().setLoadsImagesAutomatically(true);
  49.         mWebView.getSettings().setJavaScriptEnabled(true);
  50.         mWebView.getSettings().setAllowFileAccess(true);
  51.         mWebView.setThirdPartyCookiesEnabled(true);
  52.         mWebView.getSettings().setLoadWithOverviewMode(true);
  53.         mWebView.setVisibility(View.GONE);
  54.  
  55.         mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
  56.         mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
  57.         mWebView.setScrollbarFadingEnabled(false);
  58.  
  59.         if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
  60.             mWebView.evaluateJavascript("enable();", null);
  61.         } else {
  62.             mWebView.loadUrl("javascript:enable();");
  63.         }
  64.  
  65.         mWebView.addJavascriptInterface(new MessageInterface(this), "AndAud");
  66.         //mWebView.addJavascriptInterface(MainActivity.this, "createNotification");
  67.         mWebView.setWebViewClient(new WebViewClient() {
  68.  
  69.             @RequiresApi(api = Build.VERSION_CODES.O)
  70.             @Override
  71.             public void onPageFinished(WebView view, String url) {
  72.                 Toast.makeText(MainActivity.this, "Finished loading", Toast.LENGTH_SHORT).show();
  73.  
  74.                 // createNotification("Novy test",MainActivity.this);
  75.             }
  76.  
  77.         });
  78.  
  79.         mWebView.setWebChromeClient(new WebChromeClient() {
  80.  
  81.             @Override
  82.             public void onReceivedTitle(WebView view, String title) {
  83.                 super.onReceivedTitle(view, title);
  84.                 Toast.makeText(MainActivity.this, title, Toast.LENGTH_SHORT).show();
  85.             }
  86.  
  87.         });
  88.  
  89.         mWebView.addHttpHeader("X-Requested-With", "");
  90.         mWebView.loadUrl(TEST_PAGE_URL);
  91.     }
  92.  
  93.     @SuppressLint("NewApi")
  94.     @Override
  95.     protected void onResume() {
  96.         super.onResume();
  97.         mWebView.onResume();
  98.         // ...
  99.     }
  100.  
  101.     @SuppressLint("NewApi")
  102.     @Override
  103.     protected void onPause() {
  104.         mWebView.onPause();
  105.         // ...
  106.         super.onPause();
  107.     }
  108.  
  109.     @Override
  110.     protected void onDestroy() {
  111.         mWebView.onDestroy();
  112.         // ...
  113.         super.onDestroy();
  114.     }
  115.  
  116.     @Override
  117.     protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
  118.         super.onActivityResult(requestCode, resultCode, intent);
  119.         mWebView.onActivityResult(requestCode, resultCode, intent);
  120.         // ...
  121.     }
  122.  
  123.     @Override
  124.     public void onBackPressed() {
  125.         if (!mWebView.onBackPressed()) { return; }
  126.         // ...
  127.         super.onBackPressed();
  128.     }
  129.  
  130.     @Override
  131.     public void onPageStarted(String url, Bitmap favicon) {
  132.         //mWebView.setVisibility(View.INVISIBLE);
  133.     }
  134.  
  135.     @Override
  136.     public void onPageFinished(String url) {
  137.         mWebView.setVisibility(View.VISIBLE);
  138.     }
  139.  
  140.     @Override
  141.     public void onPageError(int errorCode, String description, String failingUrl) {
  142.         Toast.makeText(MainActivity.this, "onPageError(errorCode = "+errorCode+",  description = "+description+",  failingUrl = "+failingUrl+")", Toast.LENGTH_SHORT).show();
  143.     }
  144.  
  145.     @Override
  146.     public void onDownloadRequested(String url, String suggestedFilename, String mimeType, long contentLength, String contentDisposition, String userAgent) {
  147.         Toast.makeText(MainActivity.this, "onDownloadRequested(url = "+url+",  suggestedFilename = "+suggestedFilename+",  mimeType = "+mimeType+",  contentLength = "+contentLength+",  contentDisposition = "+contentDisposition+",  userAgent = "+userAgent+")", Toast.LENGTH_LONG).show();
  148.  
  149.         /*if (AdvancedWebView.handleDownload(this, url, suggestedFilename)) {
  150.             // download successfully handled
  151.         }
  152.         else {
  153.             // download couldn't be handled because user has disabled download manager app on the device
  154.         }*/
  155.     }
  156.  
  157.     @Override
  158.     public void onExternalPageRequest(String url) {
  159.         Toast.makeText(MainActivity.this, "onExternalPageRequest(url = "+url+")", Toast.LENGTH_SHORT).show();
  160.     }
  161.  
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement