Android Studio. Помогите исправить ошибки м=в моём браузере, я новичёк. Java

Всем привет, я пишу Веб-Приложение а точнее браузер с помощью Webview на java в AndroidStudio, Но у меня парочка багов помогите пожалуйста..

1)Когда я к примеру хочу открыть веб дискорд, то страничка входа после проверки данных запускается заного..

2)К примеру запускаю я на нём сайт "https://alerts.in.ua/" он как бы грузит, но работать не хочет

3)Я дико извеняюсь за поданный пример, но когда открываю самый известный сайт для взрослых, превью видео не отображаются, не то что бы это было важно, просто наверняка есть сайты на которых баг повторится

4)Я везде искал но я чайник, я не шарю за джаву, помогите мне пожалуйста, я не знаю как сделать полноэкранный режим, а так же что-бы можно было смотреть видео в полный экран... 5)когда нажимаю кнопку назад вылетает приложение..

(Убедительная просьба если можно, можете обьяснить и скинуть готовый код, я с готовым кодом легче розбираюсь..)

Код

MainActivity

package com.example.fgd;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;

import android.net.http.SslError;
import android.os.Build;
import android.os.Handler;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import android.annotation.TargetApi;
import android.os.Bundle;
import android.webkit.WebView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private WebView w;


    @Override



    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);





        w = new WebView(this);
        w.getSettings().setJavaScriptEnabled(true);
        // включаем поддержку JavaScript
        w.getSettings().setJavaScriptEnabled(true);
        // указываем страницу загрузки;

        final Activity activity = this;

        w.setWebViewClient(new WebViewClient() {
            @SuppressWarnings("deprecation")
            @Override

            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
            }
            @TargetApi(Build.VERSION_CODES.M)
            @Override


            public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr) {
                // Redirect to deprecated method, so you can use it in all SDK versions
                onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString());




            }
             class MyWebViewClient{
                public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                    // Появляется окно с предложением, чтобы пользователь мог решить, продолжать ли загружать
                    // 1. Пользователь выбирает продолжить загрузку
                    handler.proceed();
                    // 2. Пользователь отменен
                    //handler.cancel()
                }

            }

        });
        w.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return super.shouldOverrideUrlLoading(view, url);
            }

        });


        w.loadUrl("https://google.com");


        setContentView(w);

    }
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Base.CardView">
        <activity
            android:exported="true"
            android:label="@string/app_name"
            android:theme="@style/Theme.AppCompat.NoActionBar"
            android:name="com.example.fgd.MainActivity">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

ActivityMail.xml

<?xml version="1.0" encoding="utf-8"?>
<WebView
    android:id="@+id/webView"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

Ответы (1 шт):

Автор решения: Kazbo

Можете попробовать включить куки (должно решить проблемы с авторизацией. Как это сделать: https://stackoverflow.com/questions/17230757/how-to-enable-cookies-in-android-webview

→ Ссылка