【问题标题】:Upgrading from Cordova < 4: Current alternative for CordovaXXClients从 Cordova < 4 升级:CordovaXXClients 的当前替代方案
【发布时间】:2016-02-22 12:52:03
【问题描述】:

我正在将一些旧版 Cordova 2.x 和 3.x 应用程序升级到 5.1.0 版。在旧项目中,WebView 是使用现已消失的 CordovaChromeClientCordovaWebViewClient 类自定义的。

新 API 中有这些类的替代品吗?

我特别想:

  • 为 SQLite 设置更高的数据库配额。 这是在过去调用WebView.setWebChromeClient 并作为参数传递CordovaChromeClient 的实例并覆盖其onExceededDatabaseQuota 方法完成的。
  • 覆盖 URL 加载。 这是在 Cordova 3.x 及更低版本中完成的,调用 WebView.setWebViewClient 并将 CordovaWebViewClient 的实例作为参数传递,并覆盖其 shouldOverrideUrlLoading 方法。

【问题讨论】:

    标签: android cordova webview apache-cordova


    【解决方案1】:

    旧的CordovaWebViewClient 现在是SystemWebViewClient

    旧的CordovaChromeClient 现在是SystemWebChromeClient

    要获取SystemWebView,请使用 getView 并进行转换

    ((SystemWebView)appView.getView())
    

    【讨论】:

    • 谢谢!你知道是否有办法从CordovaActivity 中获取SystemWebViewEngine?我需要一个将它传递给客户端构造函数。
    • 编辑了有关如何获取 SystemWebView 的信息(这是您需要的,而不是 SystemWebViewEngine
    • 其实我确定我需要引擎。但我也会使用无耻的铸造。我认为没有其他方法。
    • SystemWebView 是带有setWebChromeClientsetWebViewClient 的那个,因为它扩展了WebViewSystemWebViewEngine 有一个客户端,但你不能设置它
    猜你喜欢
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 2019-01-14
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    相关资源
    最近更新 更多