Я использую android webview, чтобы открыть URL-адрес в моем приложении. Я хочу, чтобы веб-просмотр обрабатывал все перенаправления в самом веб-представлении, не ища браузера. Я реализовал это, создав webViewClient
и переопределив метод shouldOverrideUrlLoading
.
URL-адрес должен перенаправить пользователя на страницу входа, если source=android_apps
передается с URL-адресом, но веб-просмотр не обрабатывает перенаправление на страницу входа вместо этого открывается всплывающее диалоговое окно с параметрами входа, которое, как ожидается, произойдет, если source=android_apps
не передан
Код для справки
wv_content.setWebViewClient(object : WebViewClient() {
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
handleCurrentUrl(url)
super.onPageStarted(view, url, favicon)
}
override fun shouldOverrideUrlLoading(webView: WebView, url: String): Boolean {
return shouldOverrideUrlLoading(url)
}
@TargetApi(Build.VERSION_CODES.N)
override fun shouldOverrideUrlLoading(webView: WebView?, request: WebResourceRequest): Boolean {
val uri: Uri = request.getUrl()
return shouldOverrideUrlLoading(uri.toString())
}
override fun onPageFinished(view: WebView?, url: String?) {
super.onPageFinished(view, url)
pb_loading.visibility = View.GONE
}
private fun shouldOverrideUrlLoading(url: String): Boolean {
return false
}
})
wv_content.loadUrl(url)
}
Я также проверил, запустив тот же URL-адрес в chrome mWeb, и он работает, как ожидалось, но не в мобильном веб-просмотре. Есть ли вероятность, что мобильный веб-просмотр не восхищается источником, переданным с URL-адресом?
Я перепробовал все возможные решения, доступные для аналогичных задач, но никто не работает. Нужна помощь. Заранее спасибо.