Ответ
Да, работал. WebView позволяет отображать веб-контент внутри приложения. Основные моменты:
- Базовая настройка:
val webView = findViewById<WebView>(R.id.webView)
webView.settings.javaScriptEnabled = true
webView.loadUrl("https://example.com")
- Обработка навигации (чтобы ссылки открывались внутри WebView):
webView.webViewClient = WebViewClient()
- Обработка JS-интерфейсов (взаимодействие между JS и Kotlin/Java):
webView.addJavascriptInterface(MyJsInterface(), "Android")
Важно:
- Проверять
shouldOverrideUrlLoadingдля безопасности. - Очищать кэш и историю в
onDestroy(). - Для сложных сценариев можно использовать Chrome Custom Tabs.
Проблемы:
- Утечки памяти (нужно отделять WebView от Activity).
- Ограничения API (например, на Android 9+
cleartextTrafficтребует явного разрешения).