Android Webview 应用程序上下文

Posted

技术标签:

【中文标题】Android Webview 应用程序上下文【英文标题】:Android Webview application context 【发布时间】:2014-06-24 19:24:44 【问题描述】:

我想在活动启动前预加载网页 URL。那么我可以在应用程序上下文下实例化片段吗?

编辑: - 在 Application 子类中创建 webview 并在活动中检索它。但由于上下文不同而无法使用它。 - 使用服务组件创建 webview 并在活动中检索它。与服务在应用程序上下文下启动的上下文问题相同。

更新: 我能够在应用程序上下文下创建一个 webview 对象,并在任何活动中需要时在片段中检索它。它在 android OS 4.0 及更高版本上运行良好。我已经在 Android OS 4 及更高版本上进行了测试。以防万一有人需要

【问题讨论】:

为什么不异步加载url? @donfuxx iam 尝试加载或 url,然后让用户在此视图上使用 web ajax 方法浏览此 webview。我该怎么做? 【参考方案1】:

当您的页面完全加载到 WebView 中并在之后添加/显示您的片段时,您可以处理 WebViewClient 侦听器。

mWebView.setWebViewClient(new WebViewClient() 

   public void onPageFinished(WebView view, String url) 
        // do your stuff here
    
);

文档说明:

通知主机应用程序页面已完成加载。这 方法仅对主框架调用。当 onPageFinished() 被调用时, 渲染图片可能尚未更新。获取通知 对于新图片,请使用onNewPicture(WebView, Picture)。

查看更多信息:onPageFinished (WebView view, String url)

【讨论】:

我想加载整个页面并让用户浏览这个页面。该链接没有解释它。请帮帮我 你想在 webview 中加载一个 URL? 我在我们的服务器上定义了一个 webapp。一旦我加载了这个 webapp 主页,用户将使用 java 脚本直接与服务器代码交互。我正在考虑使用一个片段,这样我就可以在向用户展示之前预加载主页。请告诉我该怎么做? @MarceloFilho 我将我的问题编辑得更具体。让我知道 。我已经在使用 webclient 了。但是图像没有正确加载。是否有任何链接到已经在这样做的公共项目? 会试试这个。我想在启动此活动之前调用此 webview 实例化,以便立即提供无缝体验。该怎么做?【参考方案2】:

我在应用程序上下文下实例化了 Webview,并在活动启动后在片段中调用了这个视图。它似乎工作正常。

【讨论】:

以上是关于Android Webview 应用程序上下文的主要内容,如果未能解决你的问题,请参考以下文章

无法在 android webview 上执行操作

Appium之编写H5应用测试脚本(切换到Webview)

在 WebView 中注入 Javascript 桥接器

Appium 不显示 webview 上下文,它只显示本机应用程序上下文。如何获取 webview 上下文?

Android - Javascript:如何在 webview 中执行 jquery

覆盖Android中文本选择(在WebView中)的默认上下文操作栏