GeckoView 入门¶
如何在您的 Android 应用中使用 GeckoView。
正在构建浏览器?请查看 Android 组件,我们的一系列即用型支持库!
以下文章是将 GeckoView 嵌入应用的简要指南。有关 GeckoView 入门的更深入教程,请阅读我们在 raywenderlich.com 上发布的文章。
配置 Gradle¶
您需要在模块的 build.gradle
文件中添加或编辑四个部分。
1. 设置 GeckoView 版本
与 Firefox 一样,GeckoView 有三个发布渠道:稳定版、测试版和夜间版。浏览 Maven 仓库 以查看当前可用的版本。
ext {
geckoviewChannel = <channel>
geckoviewVersion = <version>
}
2. 添加 Mozilla 的 Maven 仓库
repositories {
maven {
url "https://maven.mozilla.org/maven2/"
}
}
3. Java 17 兼容性支持
由于 GeckoView 使用了一些 Java 17 API,因此需要这些兼容性标志
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
4. 添加 GeckoView 实现
dependencies {
// ...
implementation "org.mozilla.geckoview:geckoview-${geckoviewChannel}:${geckoviewVersion}"
}
将 GeckoView 添加到布局¶
在布局 .xml
文件中,添加以下内容
<org.mozilla.geckoview.GeckoView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/geckoview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
在 Activity 中初始化 GeckoView¶
1. 在 Activity 中导入 GeckoView 类
import org.mozilla.geckoview.GeckoRuntime;
import org.mozilla.geckoview.GeckoSession;
import org.mozilla.geckoview.GeckoView;
2. 创建一个 ``static`` 成员变量来存储 ``GeckoRuntime`` 实例。
private static GeckoRuntime sRuntime;
3. 在该 Activity 的 onCreate
函数中,添加以下内容:
GeckoView view = findViewById(R.id.geckoview);
GeckoSession session = new GeckoSession();
// Workaround for Bug 1758212
session.setContentDelegate(new GeckoSession.ContentDelegate() {});
if (sRuntime == null) {
// GeckoRuntime can only be initialized once per process
sRuntime = GeckoRuntime.create(this);
}
session.open(sRuntime);
view.setSession(session);
session.loadUri("about:buildconfig"); // Or any other URL...
4. 将 windowSoftInputMode 设置为 adjustResize
以支持 交互式小部件 :
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<activity android:name=".YourActivity"
android:windowSoftInputMode="stateUnspecified|adjustResize" />
</manifest>
搞定!¶
您的应用程序现在应该可以在 GeckoView 中加载并显示网页。