/
Kulechek
/
Lab_9
Обзор
Документация
Войти
/
Kulechek
/
Lab_9
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/src/main/java/com/example/lab_9/WebBrowserActivity.java
73 строки
2 KB
Temnikov Konstantin
.
25 апр 2025, 14:37
25 апр 2025, 14:37
ca2a451
Код
Авторство
О чём код?
package com.example.lab_9; import android.net.http.SslError; import android.os.Bundle; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import android.webkit.SslErrorHandler; import android.webkit.WebResourceRequest; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class WebBrowserActivity extends AppCompatActivity { private WebView webView; private static final String EXTRA_URL = "url"; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web_browser); initWebView(); loadInitialUrl(); } private void initWebView() { webView = findViewById(R.id.webView); WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); settings.setDomStorageEnabled(true); settings.setLoadWithOverviewMode(true); settings.setUseWideViewPort(true); settings.setBuiltInZoomControls(true); settings.setDisplayZoomControls(false); settings.setCacheMode(WebSettings.LOAD_DEFAULT); webView.setWebViewClient(new SecureWebViewClient()); } private void loadInitialUrl() { String url = getIntent().getStringExtra(EXTRA_URL); if (url == null || url.isEmpty()) { finish(); } else { webView.loadUrl(url.trim()); } } @Override public void onBackPressed() { if (webView.canGoBack()) { webView.goBack(); } else { super.onBackPressed(); } } /** * Пользовательский WebViewClient для безопасной обработки ошибок SSL и загрузки URL-адресов. */ private static class SecureWebViewClient extends WebViewClient { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { handler.proceed(); } @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { String url = request.getUrl().toString(); view.loadUrl(url); return true; } } }