我对Java完全陌生,但是尝试制作一个非常简单的应用程序,该应用程序在GeckoView内显示一个网站。
我可以存档以将网站加载到GeckoView中,但是一旦我尝试更改某些设置(将UserAgentMode更改为DESKTOP),则当我尝试在手机上打开该应用程序后便崩溃了(未显示任何错误)。正如我说的那样,我是Java的新手,所以这可能是一个初学者的错误,无论如何我都无法自行解决。
以下是UserAgentMode的文档:https://mozilla.github.io/geckoview/javadoc/mozilla-central/org/mozilla/geckoview/GeckoSessionSettings.html#USER_AGENT_MODE_DESKTOP
我现在在哪里:
package com.example.geckotest;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import org.mozilla.geckoview.GeckoRuntime;
import org.mozilla.geckoview.GeckoSession;
import org.mozilla.geckoview.GeckoSessionSettings;
import org.mozilla.geckoview.GeckoView;
public class MainActivity extends AppCompatActivity {
private GeckoView geckoview;
private GeckoSession GeckoSession;
private GeckoRuntime geckoRuntime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GeckoView view = findViewById(R.id.geckoview);
GeckoSession session = new GeckoSession();
GeckoSession.getSettings().setInt(GeckoSessionSettings.USER_AGENT_MODE, 1);
GeckoRuntime runtime = GeckoRuntime.create(this);
session.open(runtime);
view.setSession(session);
session.loadUri("https://google.com");
}
}
此行导致了问题;当我将其注释掉时,该应用程序可以正常启动-但不能在所需的桌面模式下运行:
GeckoSession.getSettings().setInt(GeckoSessionSettings.USER_AGENT_MODE, 1);