2

我对 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);
4

0 回答 0