浏览代码

show userAgent

JonaNorman 1 年之前
父节点
当前提交
5b1f3d4448

+ 17 - 59
app/src/main/java/com/norman/webviewup/demo/WebViewActivity.java

@@ -11,89 +11,47 @@ import android.net.Uri;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Environment;
+import android.os.Looper;
 import android.util.Log;
 import android.webkit.CookieManager;
 import android.webkit.URLUtil;
+import android.webkit.WebResourceRequest;
 import android.webkit.WebSettings;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
+import android.webkit.WebViewRenderProcess;
+import android.webkit.WebViewRenderProcessClient;
+import android.widget.TextView;
 import android.widget.Toast;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.RequiresApi;
 import androidx.core.app.ActivityCompat;
 
 
-
 public class WebViewActivity extends Activity {
 
-    private final int STORAGE_PERMISSION_CODE = 1;
     private WebView mWebView;
-    private void requestStoragePermission() {
-        if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
-            new AlertDialog.Builder(this)
-                    .setTitle("Permission needed")
-                    .setMessage("This permission is needed to download files")
-                    .setPositiveButton("ok", (dialog, which) -> ActivityCompat.requestPermissions(WebViewActivity.this,
-                            new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, STORAGE_PERMISSION_CODE))
-                    .setNegativeButton("cancel", (dialog, which) -> dialog.dismiss())
-                    .create().show();
-        } else {
-            ActivityCompat.requestPermissions(this,
-                    new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, STORAGE_PERMISSION_CODE);
-        }
-    }
 
-    @RequiresApi(api = Build.VERSION_CODES.Q)
+    private TextView userAgentTextView;
+
     @Override
-    @SuppressLint("SetJavaScriptEnabled")
     protected void onCreate(Bundle savedInstanceState) {
-        requestStoragePermission();
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_webview);
         mWebView = findViewById(R.id.webview);
-//        mWebView.setWebViewRenderProcessClient();
-//        mWebView.getWebViewLooper()
+        userAgentTextView = findViewById(R.id.userAgentTextView);
         WebSettings webSettings = mWebView.getSettings();
-        String userAgentString = webSettings.getUserAgentString();
-        Log.v("webview", "userAgentString" + userAgentString);
+        userAgentTextView.setText(webSettings.getUserAgentString());
         webSettings.setJavaScriptEnabled(true);
-        mWebView.setWebViewClient(new HelloWebViewClient());
-        mWebView.setDownloadListener((url, userAgent, contentDisposition, mimeType, contentLength) -> {
-            Uri source = Uri.parse(url);
-            DownloadManager.Request request = new DownloadManager.Request(source);
-            String cookies = CookieManager.getInstance().getCookie(url);
-            request.addRequestHeader("cookie", cookies);
-            request.addRequestHeader("User-Agent", userAgent);
-            request.setDescription("Downloading File...");
-            request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimeType));
-            request.allowScanningByMediaScanner();
-            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
-            request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, URLUtil.guessFileName(url, contentDisposition, mimeType));
-            DownloadManager dm = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
-            dm.enqueue(request);
-            Toast.makeText(getApplicationContext(), "Downloading File", Toast.LENGTH_LONG).show();
+        mWebView.setWebViewClient(new WebViewClient() {
+            @Override
+            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
+                return false;
+            }
         });
-        mWebView.loadUrl("https://test-videos.co.uk/bigbuckbunny/mp4-h265"); //Replace The Link Here
-
-
-    }
-
-    private static class HelloWebViewClient extends WebViewClient {
-        @Override
-        public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
-//            view.loadUrl(url);
-            return false;
-        }
-
-        @Override
-        public void onPageStarted(WebView view, String url, Bitmap favicon) {
-            super.onPageStarted(view, url, favicon);
-        }
-
-        @Override
-        public void onPageFinished(WebView view, String url) {
-            super.onPageFinished(view, url);
-        }
+        mWebView.loadUrl("https://test-videos.co.uk/bigbuckbunny/mp4-h265");
     }
 
     @Override

+ 11 - 0
app/src/main/res/layout/activity_webview.xml

@@ -9,4 +9,15 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
 
+    <TextView
+        android:id="@+id/userAgentTextView"
+        android:textSize="12dp"
+        android:padding="20dp"
+        android:background="#99699D44"
+        android:textColor="#ffffff"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+    </TextView>
+
 </FrameLayout>