问题标签 [geckoview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7004 浏览

android - 在 Android 中集成 GeckoView

我在 Kitkat(4.4) 的 webview 中上传文件时遇到问题。根据https://code.google.com/p/android/issues/detail?id=62220,由于新版本的 webview 中缺少方法,因此无法在 4.4 中完成。

因此搜索并找到 GeckoView(https://wiki.mozilla.org/Mobile/GeckoView)作为 webview 的替代品。我遵循了https://wiki.mozilla.org/Mobile/GeckoView中指定的所有步骤,但项目仍然没有在模拟器和 android 设备中运行。

我尝试在https://wiki.mozilla.org/Mobile/GeckoView中下载和导入示例项目 Geckobrowser ,但它给出了 getCurrentBrowser() 方法的编译时错误。

我正在使用 Windows 操作系统。谁能指导我完成,不知道我错过了什么。对于正确方向的任何领导,我都会非常满意。

0 投票
0 回答
453 浏览

android - 如何在 GeckoView 中启用陀螺仪

在我的一个项目中,我尝试使用 GeckoView 作为 WebView 的替代品,以支持所有可能的设备的 WebGL。但是 GeckoView 不会像默认的 WebView 那样响应设备陀螺仪。

谁能帮我在 GeckoView 中启用陀螺仪?

0 投票
2 回答
1958 浏览

android - 关于 Mozilla GeckoView 的 Android 问题

我是一名初级 Android 开发人员。我使用“WebView”试图制作一个 Android 应用程序。但是,网络的速度太慢了。于是上网搜索结果发现了GeckoView。但是主页对我来说很难看懂我不太懂英语。

我的问题:

  1. 我可以使用 GeckoView 代替 WebView 吗?简单吗?

  2. 我可以使用仅添加到 Android Studio 中的“build.gradle”的代码库吗?

  3. 还有其他选择吗?

0 投票
1 回答
824 浏览

java - GeckoView 中有 shouldOverrideUrlLoading 吗?

我对在 Android WebView 中使用 shouldOverrideUrlLoading 方法非常熟悉,并且在一些项目中使用过它。我有一个新项目需要 Mozilla 的 GeckoView 而不是标准的 WebView,但我似乎找不到覆盖 url 的方法(以防止用户从最初加载的网站中跟踪某些链接)。有没有这样的方法存在?

我已经使用以下说明将 GeckoView 嵌入到我的项目中:https ://wiki.mozilla.org/Mobile/GeckoView并且网站渲染得很好。

我试图模拟的 Android WebView 代码如下所示:

GeckoView 中是否有类似的方法?

0 投票
1 回答
590 浏览

android - 如何为 GeckoView 设置 cookie?

我有一个 Android WebView 代码,我在其中设置了 cookie 值。但是,同样的操作在 Mozilla GeckoView 中不起作用。

使用 WebView 的工作示例:

使用 GeckoView 的示例:

我没有收到任何错误,但 cookie 值不会影响加载的页面。

0 投票
1 回答
1464 浏览

android - 如何实现 GeckoView?

我想在我的应用程序中实现 GeckoView,但我总是收到以下错误:

  1. 当我按照此链接中的描述实现它时:https ://wiki.mozilla.org/Mobile/GeckoView

安装应用程序时出现以下错误:

安装失败并显示消息 Failed to commit install session 2023122124 with command cmd package install-commit 2023122124. 错误:INSTALL_FAILED_NO_MATCHING_ABIS:无法提取本机库,res=-113。此问题可能通过卸载现有版本的 apk(如果存在)得到解决,然后重新安装。

警告:卸载将删除应用程序数据!

是否要卸载现有应用程序?

  1. 当我单击“确定”时,调试选项卡中出现以下错误:

05/07 10:56:14:启动应用程序 $ adb install-multiple -r -t C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_6.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_0.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk \x86_64\debug\slices\slice_1.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_2.apk C:\Users\USERNAME\Desktop\GeckoViewTest \app\build\intermediates\split-apk\x86_64\debug\slices\slice_7.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_4.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\resources\instant-run\x86_64\debug\resources-x86_64-debug.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_5.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64 \debug\slices\slice_9.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\slices\slice_3.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app \build\intermediates\split-apk\x86_64\debug\slices\slice_8.apk C:\Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\split-apk\x86_64\debug\dep\dependencies.apk C: \Users\USERNAME\Desktop\GeckoViewTest\app\build\intermediates\instant-run-apk\x86_64\debug\app-x86_64-debug.apk $ adb shell pm uninstall de.example.test.geckoviewtest 未知故障:发生异常时执行:java.lang.IllegalArgumentException:未知包:de.example.test。geckoviewtest 在 com.android.server.pm.Settings.isOrphaned(Settings.java:4289) 在 com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:21095) 在 com.android.server.pm.PackageManagerService。 deletePackageVersioned(PackageManagerService.java:17916) 在 com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:736) 在 com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:1486) 在 com.android .server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:193) 在 android.os.ShellCommand.exec(ShellCommand.java:103) 在 com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21328) 在android.os.Binder.shellCommand(Binder.java:634) 在 android.os.Binder.onTransact(Binder.java:532)在 android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2821) 在 com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3856) 在 android.os.Binder.execTransact(Binder .java:731) 安装 APK 时出错

我在 productFlavors{...} 下添加了此代码,并且可以安装该应用程序:

但现在我的应用程序在以下位置崩溃:

我在我的活动的 onCreate 中收到以下错误:

2019-05-07 10:58:31.347 9069-9090/de.example.test.geckoviewtest E/GeckoLoader:无法加载 mozglue。尝试本机库目录。2019-05-07 10:58:31.368 9069-9090/de.example.test.geckoviewtest E/GeckoLoader:库不应该存在。2019-05-07 10:58:31.382 9069-9090/de.example.test.geckoviewtest E/GeckoLoader:无法加载 /data/user/0/de.example.test.geckoviewtest/lib/libmozglue.so: java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/user/0/de.example.test.geckoviewtest/lib/libmozglue.so" not found 2019-05-07 10:58:31.392 9069-9090/de。 example.test.geckoviewtest E/GeckoLoader: 无法加载 /data/app-lib/de.example.test.geckoviewtest/libmozglue.so: java.lang.UnsatisfiedLinkError: dlopen failed: library "/data/app-lib/ de.example.test.geckoviewtest/libmozglue.so"

0 投票
1 回答
536 浏览

android - 使用 Geckoview Android 管理 AndroidPermissionRequest 和 MediaPermissionRequest

我目前在使用geckoview. 内置 Androidwebview对我来说不是一个选项,因为我要打开的网站与 chrome 不兼容。它只能使用mozillageckoview的替代方法打开。

我遇到的问题是授予使用麦克风和录制音频的权限。因为我试图在 geckoview 中打开的网站记录音频(语音收藏)。

我是 android 和 geckoview 的新手,这就是为什么我使用的指南是这个项目https://searchfox.org/mozilla-central/source/mobile/android/geckoview_example/src/main/java/org/mozilla/geckoview_example/GeckoViewActivity .java

我能够显示请求权限并接受它,但似乎我的应用程序没有存储权限结果。目前我正在尝试我的程序到这个网站https://www.onlinemictest.com

这是我的 PermissionDelegate

这是我的 PermissionDelegateCallback

结果显示“授予Android权限”,然后显示我输入的日志“需要媒体权限”,网站显示“等待麦克风”

我还检查了我手机上的应用程序,它已经拥有麦克风权限。

0 投票
1 回答
264 浏览

react-native - 在本机反应中使用 GeckoView

我正在开发一个需要 GeckoView 作为 WebView 浏览器的本机项目。但是,由于它是一个原生的 android 库,我不确定是否可以在 react native 中使用它。

有没有办法将 Geckoview 集成到反应原生项目中,或者这种情况有没有可能的替代方案?

任何帮助深表感谢!

0 投票
1 回答
349 浏览

android - GeckoView 发送事件或启动函数 (Android)

我已将 GeckoView 构建到我的应用程序中。到目前为止它工作得很好。现在我想在按下后退按钮(“onBackPressed”)时向 GeckoView 中的脚本发送一个事件。

是否可以在 GeckoView 中启动打开页面的 Javascript 函数?

或者我可以将事件发送到 GeckoView 中的页面吗?

函数 GeckoView.importScript() 不再存在...

0 投票
2 回答
409 浏览

android - Android 中 Gecko 视图中的页面加载回调

我正在评估Mozilla 的 Gecko 视图作为在我的 android 应用程序中显示 HTML 页面的潜在 Webview。我想要一个回调机制,如果 Gecko 视图无法加载页面,我应该能够回退到 Android 的默认 Webview 或 Chrome 自定义选项卡。我在这里查看 Gecko 视图的文档,但我无法确定 Gecko 视图是否提供此类回调。

是否可以使用 Geckoview 实现这种行为?