如何检测 WebView 页面何时尝试关闭?

2024-03-04

我有一个 WebView,我正在其中加载 facebook sharer php 页面。此页面没有任何形式的确认,它只是在用户共享或取消后关闭窗口。

由于它被加载到网络视图中,因此本身没有什么可以“关闭”的,因此,我需要检测尝试关闭的窗口并对该回调执行操作。

从我的各种搜索看来,处理此问题的方法是通过 WebChromeClient。因此,我尝试执行以下操作,但从未调用回调。我显然错过了一些东西,但不知道是什么。 *感觉 onCloseWindow 事件应该被覆盖,但这会导致 eclipse 抱怨(合理地)我需要超级实例,文档似乎并不表明这是可能的。

感谢所有帮助。

[编辑] 哦,我只是尝试交换操作的顺序,在调用 url 之前设置 WebChromeClient,并且(如我所料)这并没有以任何方式改变行为。

webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    webview.setWebViewClient(new WebViewClient()); 
    webview.loadUrl("http://www.facebook.com/sharer/sharer.php?u=http://EXTRACTED.com?img_id=abc");// + getIntent().getStringExtra("userId"));
    WebChromeClient wbc = new WebChromeClient(){

        public void onCloseWindow(Window w){
            Log.d(TAG, "Window trying to close");
        }
    };

    webview.setWebChromeClient(wbc);

有什么问题:

   public void onCloseWindow(WebView w){
        super.onCloseWindow(w);
        Log.d(TAG, "Window trying to close");
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测 WebView 页面何时尝试关闭? 的相关文章

随机推荐

  • 在 ExpressJS + Reactjs 中传递数据以查看

    我有一个应用程序 其中一部分是用 Twitter 登录 成功登录后 我通常会将用户数据传递给模板 app get function req res next log The Home page has the user info req s
  • C# 依赖注入运行时(动态)注册

    我正在使用 VS 2017 和 NET Core 使用依赖注入 我想在运行时动态注册我的服务 我的目标是编写在单独的程序集中实现服务接口的服务实例 然后 服务名称 程序集名称将被添加到某种配置文件 或数据库表 中 我的注册代码会做这样的事情
  • OpenMP 中使用循环的并行部分

    我想知道是否有任何技术可以使用 for 循环在 OpenMp 中创建并行部分 例如 我不想创建 n 个不同的 pragma omp 部分 而是使用 n 次迭代来创建它们for loop每个部分都有一些变化的参数 pragma omp par
  • 如何处理具有不同布局的 Visual Studio 解决方案中的 Git 子模块?

    我们使用 Visual Studio 2010 C 进行开发 不久前从 SVN 迁移到 GIT 现在 我们尝试将我们的存储库 相当大 约 30 000 个文件 拆分为许多 git 存储库 每个解决方案一个 这些解决方案共享一些项目 主要是我
  • 无法让 Costura.Fody 工作,一直要求 DLL

    我已使用 nuget 包将 costura fody 安装到我的项目中 我已将 FodyWeavers xml 文件更新为
  • Binary(16) 字段截断 Guid 的尾随零

    在 C 中 我有一个byte 名为 UniqueId 的字段 我将此字段作为 Binary 16 存储在 SQL Server 数据库 EF6 中 我注意到有时 存储的 guid 是 15 个字节而不是 16 个字节 当我这样做时 这会导致
  • 从月份名称获取月份编号?

    快速问题 我有一个按名称列出的月份列表 即 Jan Feb Mar Apr 等 我想将其转换为 1 2 3 4 等 我已经写了一些简单的代码可以做到这一点 但只是好奇是否有人知道使用任何 API 来做到这一点的方法 快速回答 NSDateF
  • Memcached 使用超过最大内存

    我在 memcache 上安装了一个安装程序 我想在生产环境中使用它 但是当我运行了一些测试时 似乎 memcache 不会释放内存 即使它用完了所有分配的内存 我也登录了并运行了flush all命令 但对象仍在缓存中 这是一些测试的输出
  • 使用 CreateProcessAsUser 启动 url

    最近我遇到了一个问题 我需要从提升的应用程序打开网页 我需要以非提升方式打开浏览器 所以我环顾四周 发现这个解决方案 https stackoverflow com a 287072 127602 这肯定会解决我的问题 除了CreatePr
  • windows批处理文件eq此时出乎意料

    我正在编写一个 Windows 批处理脚本来安装服务 首先 我需要查找该服务是否已经存在 如果服务存在 它必须检查状态 如果状态正在运行 则必须停止并删除服务 这是我的代码 test bat 我正在从命令行运行它 for F tokens
  • 操作栏中的自定义主页图标 Sherlock

    我正在尝试使用设置主页图标的自定义图标ActionBarSherlock 库 http actionbarsherlock com 我尝试使用设置自定义布局abHomeLayout我的自定义主题中的属性 但这对我不起作用 唯一的方法 如何设
  • FieldValue.increment 不起作用,但添加“操作数”

    我正在使用 firebase 数据库和一个带有新功能的简单函数FieldValue increment https firebase google com docs reference js firebase firestore Field
  • 在 JavaScript 中执行继承

    现在 虽然我知道您不能像在 C 中那样执行继承 但我在互联网上看到它提到这是可能的 如果无法使用纯 JavaScript 代码 那么是否可以使用Ext JS http en wikipedia org wiki Ext JS如果是这样怎么办
  • 伊莎贝尔的文件准备

    我想获得与相关的 LaTeX 代码这个理论 https github com rjraya Isabelle blob master curves Hales thy 以前的答案仅提供文档的链接 让我描述一下我做了什么 我去了目录Hales
  • Eclipse PDT 插件安装

    我尝试在 Eclipse 中安装 PDT 插件 但出现错误 Cannot complete the install because one or more required items could not be found Software
  • Firebase 身份验证 - 过期的 api 密钥

    我正在开发一个无服务器客户端应用程序 它使用 Firebase 身份验证和 Google 的其他服务 一切都很顺利 突然 FB 登录身份验证停止工作 当尝试登录用户时 我会收到一个 400 BADREQUEST 其正文如下 error co
  • 使用 Socket.IO 发送数据的频率是多少?

    我正在创建一个 Web 应用程序 需要频繁地将少量数据 每个套接字 3 个整数值 从服务器发送到客户端 并且我想看看是否有使用更新客户端的最大频率套接字IO https socket io 我希望能够实现至少 50 个套接字连接 每个连接每
  • 在Delphi XE2上使用MSBuild编译运行时包时出现编译错误

    我正在将我们的构建服务器 Jenkins 升级到Delphi XE2 编译运行时包时出现以下错误 ComponentsR vrc 61 error RC2135 file not found ComponentsR Icon4 ico 此运
  • drawViewHierarchyInRect:afterScreenUpdates: 延迟其他动画

    在我的应用程序中 我使用drawViewHierarchyInRect afterScreenUpdates 为了获得我视野中的模糊图像 使用AppleUIImage类别UI图像效果 https developer apple com do
  • 如何检测 WebView 页面何时尝试关闭?

    我有一个 WebView 我正在其中加载 facebook sharer php 页面 此页面没有任何形式的确认 它只是在用户共享或取消后关闭窗口 由于它被加载到网络视图中 因此本身没有什么可以 关闭 的 因此 我需要检测尝试关闭的窗口并对