我想在我的qml应用程序中使用AndroidWebView。提供的默认WebView对象使用native呈现,但缺少一些功能(例如拦截网络请求并阻止它们的能力)。我知道Qt允许您使用QAndroidJniObject调用nativeJavaAPI。是否可以使用它围绕原生AndroidWebView创建Qt包装器?如果是,我该如何实现? 最佳答案 这很棘手。您基本上需要在运行时创建一个覆盖shouldInterceptRequest的新类:publicclassSuperDuperUniqueNameForMyWebViewClien
我想在我的qml应用程序中使用AndroidWebView。提供的默认WebView对象使用native呈现,但缺少一些功能(例如拦截网络请求并阻止它们的能力)。我知道Qt允许您使用QAndroidJniObject调用nativeJavaAPI。是否可以使用它围绕原生AndroidWebView创建Qt包装器?如果是,我该如何实现? 最佳答案 这很棘手。您基本上需要在运行时创建一个覆盖shouldInterceptRequest的新类:publicclassSuperDuperUniqueNameForMyWebViewClien
我注意到Qt文档提供了两种调用androidnative方法的方法,但我不知道何时使用QAndroidJniObject::callMethod以及何时使用QAndroidJniObject::callObjectMethod。规则是什么? 最佳答案 主要区别在于QAndroidJniObject::callMethod返回原始数据类型,如jint或jbyte但QAndroidJniObject::callObjectMethod返回类型为QAndroidJniObject的对象。使用哪一个完全取决于您的需要和您要调用的函数的返回类