当前位置: 首页 > 知识库问答 >
问题:

webview在最小化应用程序时加载url时自动打开应用程序

欧君之
2023-03-14

webview加载URL时,应用程序从最小化状态自动打开。对此如何化解?

下面是我的代码;

     webView.webChromeClient = WebChromeClient()
    webView.webViewClient = object : WebViewClient() {

        override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
            super.onPageStarted(view, url, favicon)

            if (!isAdded) {
                return
            }

        }

        override fun onPageFinished(view: WebView?, url: String?) {
            super.onPageFinished(view, url)
            if (!isAdded) {
                return
            }

            ll_progress.visibility = GONE

            val isReturnUrlFound = url?.startsWith(mStrReturnUrl) == true

            if (mStrReturnUrl.isNotEmpty() && isReturnUrlFound) {
                setToolbarTitle()
                activity.supportActionBar?.setDisplayHomeAsUpEnabled(false)
            }


        }

    }

    webView.clearCache(true)
    webView.clearHistory()
    webView.settings.javaScriptEnabled = true
    webView.settings.javaScriptCanOpenWindowsAutomatically = false
    webView.loadUrl(mStrUrl)

共有1个答案

凌嘉勋
2023-03-14

您是如何管理活动状态的?您试过使用onPause()方法吗???也许您可以定义应用程序在最小化时的行为,并添加一个onResume()方法,使其在WebViews加载URL后再次恢复?从我的观点,并请记住,我不是这方面的专家,您的activity没有暂停或销毁,因此它仍然显示,您需要声明发生了什么,同时网址是加载到WebView。我相信您可以通过onpause和onresume方法来实现这一点。让我知道这是否可行,请查看此链接https://www.oreilly.com/library/view/head-first-android/9781449362171/ch04.html#:~:text=%20OnPause()%20Method%20运行,onResume()%20Method%20Gets%20调用。

如果有帮助就告诉我。祝你有愉快的一天。

 类似资料:
  • 是上面的代码少了点什么,还是有什么其他的方式可以在所有android版本上工作? 请建议。多谢了。

  • 这是我的第一个问题。我一路寻找,尝试了很多,但没有得到我想做的。问题是:我有一个应用程序使用SoundPool播放声音,仅此而已。但是要加载的东西很多(>50),一个一个加载需要时间。看一看; @Override公共视图onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){View V

  • 在android API 29模拟器上运行,如果您最小化一个应用程序并查看应用程序的最小化列表,它们每个都有一个与其相关联的图标: 在我的例子中,在卡片的顶部有一个与google chrome相关联的圆形chrome图标。 我的问题是:你如何设置这个图标,它叫什么,什么时候引入的(我基本上是在找关于它的文档) 非常感谢任何帮助

  • 我正在尝试在我的多租户应用程序中实现假客户概念。我有两个微服务。在其中一个微服务中,我编写了从数据库获取数据的API。我需要在我的其他微服务中使用这些数据。为此,我使用了假客户概念。我需要第二个微服务加载期间的数据。但这并没有发生。我有以下错误 这是我的基于数据源的MultitenantConnectionProviderImpl。类,我在其中编写了伪客户机逻辑 这是一个虚拟客户端。我将第二个微服

  • 问题内容: 目前看来,对于sails.js应用程序中的任何代码更改,您都必须手动停止sails服务器并再次运行,然后才能看到更改。 我想知道在开发模式下运行时是否有任何方法可以在检测到代码更改时自动重新启动sails服务器? 问题答案: 您必须使用forever,nodemon或其他类似的观察器。 通过运行以下命令 永久 安装: 运行: 为了避免由于Sails写入文件夹而导致无限重启,您可以在项目

  • 下面给出的错误 process:com.example.rahul.maptask,pid:21986 java.lang.runtimeException:无法启动活动ComponentInfo{com.example.rahul.maptask/com.example.rahul.maptask.mainactivity}:java.lang.nullpointerException:试图在A