下拉菜单(Select 标签,组合框)在 GeckoView 实现中不起作用

Dropdown (Select tag, Combobox) not working in GeckoView implementation

我正在 android 应用程序中实现 Geckoview 实例。一切看起来都正常工作,Geckoview 能够加载 URL。 我的问题是,如果网站有下拉菜单(select 标记,组合框),当我单击箭头时,选项不会出现。

我已经尝试使用不同版本和渠道的存储库(夜间版、发布版、测试版),但我仍然遇到同样的问题。

我尝试过不同的设备和版本的 android。

当我使用使用 Geckoview 的浏览器(参考浏览器、Firefox Preview)时,"dropdowns" 工作得很好,所以我认为这是我实现 Geckoview 时的配置问题。

GeckoView geckoview;
GeckoSession session;
GeckoRuntime runtime;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    geckoview = findViewById(R.id.geckoviewer);
    session = new GeckoSession();

    session.getSettings().setAllowJavascript(true);
    session.getSettings().setDisplayMode(GeckoSessionSettings.DISPLAY_MODE_FULLSCREEN);
    session.getSettings().setUserAgentMode(GeckoSessionSettings.USER_AGENT_MODE_MOBILE);

    GeckoRuntimeSettings.Builder builder = new GeckoRuntimeSettings.Builder()
            .javaScriptEnabled(true)

            .consoleOutput(true);

    runtime = GeckoRuntime.create(this, builder.build());

    session.open(runtime);

原因是 GeckoView 没有为此提供默认实现。您需要实施 PromptDelegate(在本例中为 onChoicePrompt())。

请参阅 API 文档: https://mozilla.github.io/geckoview/javadoc/mozilla-central/org/mozilla/geckoview/GeckoSession.PromptDelegate.html

参考浏览器和 Firefox Preview 正在使用 Mozilla 的“Android 组件”项目的实现。feature-prompts 组件实现了所有这些提示: https://github.com/mozilla-mobile/android-components/tree/master/components/feature/prompts

"GeckoView Example app" 使用了另一个实现,您可以在此处找到该代码: https://searchfox.org/mozilla-central/source/mobile/android/geckoview_example/src/main/java/org/mozilla/geckoview_example/BasicGeckoViewPrompt.java