Android WebView в Compose не отображает определенные страницы должным образомAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android WebView в Compose не отображает определенные страницы должным образом

Сообщение Anonymous »

У меня возникла проблема с WebView в приложении Android Compose. Хотя WebView отлично работает на iOS, в браузере и с Flutter WebView на Android и iOS, некоторые веб-сайты ломаются и перестают отвечать на запросы при использовании WebView с Compose и Kotlin.
Вот код, который я использую:

Код: Выделить всё

@SuppressLint("SetJavaScriptEnabled")
@Composable
internal fun WebView(downloadListener: SDKDownloadListener, modifier: Modifier = Modifier) {
var showSplash by remember { mutableStateOf(true) }

Box(modifier = modifier) {
AndroidView(
factory = { context ->
WebView(context).apply {
// Clear various caches and preferences
clearCache(true)

// Configure WebView settings
settings.apply {
javaScriptEnabled = true
domStorageEnabled = true
databaseEnabled = true
allowContentAccess = true
allowFileAccess = true
}

// Set WebView properties
webViewClient = WebViewClient()
webChromeClient = WebChromeClient()

// Set download listener
setDownloadListener(downloadListener)

// Add JavaScript interface
addJavascriptInterface(EventListenerJavascriptInterface(), JAVASCRIPT_INTERFACE)

// Load URL with POST data
postUrl("https://post.dev", body)
}
},
modifier = Modifier.matchParentSize(),
)

// Splash screen with animation
AnimatedVisibility(
visible = showSplash,
exit = slideOutVertically(targetOffsetY = { it }) + fadeOut(),
modifier = Modifier.matchParentSize()
) {
SplashView(onButtonPress = { showSplash = false })
}
}
}
Проверено:
  • Очистка кэша, включение JavaScript, включение базы данных и т. д.
  • Проверка веб-сайтов на наличие ошибок JavaScript.
Несмотря на эти усилия, некоторые веб-сайты по-прежнему не работают и не отвечают. Кто-нибудь сталкивался с подобной проблемой или может дать представление о том, что может пойти не так? Будем благодарны за любую помощь!
Дополнительная информация:
Одни и те же сайты прекрасно работают на iOS и в браузере. Flutter WebView отлично работает как на Android, так и на iOS с одними и теми же веб-сайтами.

Подробнее здесь: https://stackoverflow.com/questions/784 ... s-properly
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»