Принудительно загружать страницы внутри веб-просмотра вместо внешних браузеров, сохраняя низкий уровень API - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь загрузить все свои URL внутри моего webView в android studio, а не во внешних браузерах. Я добился успеха благодаря реализации следующего кода:

 webview.apply{
settings.javaScriptEnabled = true
settings.loadWithOverviewMode = true
settings.useWideViewPort = true
webViewClient = MyClient()
loadUrl("http://url.com")
 }


inner class MyClient : WebViewClient() {
    override fun shouldOverrideUrlLoading(view: WebView?, request: 
           WebResourceRequest?): Boolean {
        view?.loadUrl(request?.url?.toString())
        return true
    }

(спасибо пистолетному кафе за код, описанный выше)

Тем не менее, часть "inner class MyClient: ..." требует как минимум API уровня 21, и я очень хотел бы достичь того же результата, не переводя свой уровень с 17 на 21, так как мне действительно нужно мое приложение, чтобы его можно было установить в более низких версиях Android.

Есть ли способ сделать это?

заранее благодарю за поддержку

Привет

1 Ответ

0 голосов
/ 06 июля 2018

Попробуйте это

override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
        view.loadUrl(url)
        return true
}

Это устаревший метод, но он будет работать, так как вы не хотите менять minSdkVersion = 21

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...