为什么 WebView 打不开网站?

Why WebView does not open a site?

条件:我想创建一个包含 WebView 的对话框来显示一个特殊站点,具体来说 this (https://www.notion.so/Blog-Post-20f83114dc15488eb5684c8c29821a4b).

代码: 我用 Kotlin 写了这段代码:

     MyButton.setOnClickListener{

        val myWebVeiw = WebView(this)

        myWebVeiw.getSettings().setBuiltInZoomControls(true)
        myWebVeiw.getSettings().setDomStorageEnabled(true)
        myWebVeiw.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_INSET)
        myWebVeiw.settings.setJavaScriptEnabled(true)
        myWebVeiw.getSettings().setAllowFileAccess(true)

        myWebVeiw.loadUrl("https://www.notion.so/Blog-Post-20f83114dc15488eb5684c8c29821a4b")
        myWebVeiw.webViewClient = WebViewClient()

        androidx.appcompat.app.AlertDialog.Builder(this)
            .setView(myWebVeiw)
            .setPositiveButton(applicationContext.getString(R.string.close)){ _, _ -> /*nothing*/ }
            .show()
    }

并且我在AndroidManifest.xml

中添加了这个权限
<uses-permission android:name="android.permission.INTERNET"/>

问题:当我点击按钮时,我可以看到一个对话框,但它是空的,没有部署。

问题:如何在对话框中打开这个站点?

尝试以下

    myWebVeiw.setWebViewClient(object:WebViewClient() {
    fun shouldOverrideUrlLoading(view:WebView, url:String):Boolean {
        return false
    }
   })

喜欢

  MyButton.setOnClickListener{

    val myWebVeiw = WebView(this)

    myWebVeiw.getSettings().setBuiltInZoomControls(true)
    myWebVeiw.getSettings().setDomStorageEnabled(true)
    myWebVeiw.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_INSET)
    myWebVeiw.settings.setJavaScriptEnabled(true)
    myWebVeiw.getSettings().setAllowFileAccess(true)

    myWebVeiw.loadUrl("https://www.notion.so/Blog-Post-20f83114dc15488eb5684c8c29821a4b")
    myWebVeiw.webViewClient = WebViewClient()

    myWebVeiw.setWebViewClient(object:WebViewClient() {
    fun shouldOverrideUrlLoading(view:WebView, url:String):Boolean {
        return false
    }
   })

    androidx.appcompat.app.AlertDialog.Builder(this)
        .setView(myWebVeiw)
        .setPositiveButton(applicationContext.getString(R.string.close)){ _, _ -> /*nothing*/ }
        .show()
}

我联系了Notion.so。 他们写信给我:

所以,伙计们,有些站点在 Webview 中可能无法访问。从现在开始我们就会知道了。