Код: Выделить всё
< /code>
и активность: < /p>
package ch.ergon.divo.android
import android.annotation.SuppressLint
import android.os.Bundle
import android.webkit.WebResourceError
import android.webkit.WebResourceRequest
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.viewinterop.AndroidView
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent { WebViewPage("https://www.w3schools.com/html/html5_video.asp") }
println("Main Activity started...")
}
}
@SuppressLint("SetJavaScriptEnabled")
@Composable
fun WebViewPage(url: String) {
WebView.setWebContentsDebuggingEnabled(true)
AndroidView(
modifier = Modifier.fillMaxSize(),
factory = { context ->
WebView(context).apply {
webViewClient = WebViewClientWithErrorHandling()
settings.javaScriptEnabled = true
loadUrl(url)
clearCache(true)
}
})
}
class WebViewClientWithErrorHandling : WebViewClient() {
override fun onReceivedError(
view: WebView?,
request: WebResourceRequest?,
error: WebResourceError?
) {
println("onReceivedError: ${request?.url} caused error ${error?.description} ${error?.errorCode}")
super.onReceivedError(view, request, error)
}
}
onreceivederror: https://www.w3schools.com/html/mov_bb.mp4. играет правильно. Я мог бы воспроизвести проблему только с сайтом, содержащим видео тег, с видео, обслуживаемым локально, с различными видео MP4 и видео OGG. Какова причина этой ошибки и как ее можно исправить? Если это ошибка хрома, как я могу обойти его? Этот аналогичный отчет об ошибке кажется устаревшим.
Подробнее здесь: https://stackoverflow.com/questions/797 ... r-failed-1