javafxports 8.60.7 - 使用 Android 上的后退按钮 - none 退出应用程序

javafxports 8.60.7 - using Back button on Android - none exit application

仅对 Android 使用 javafxports 8.60.7(没有 Gluon Mobile)- 当您按下“后退”按钮时,应用程序不会退出。 我该如何解决这个问题?

虽然 JavaFXPorts 允许您在 Android 上 运行 纯 JavaFX,但仍有一些平台功能未由 OpenJFX 项目实现,例如您提到的后退按钮。

Gluon Mobile 可以正确处理视图和图层中的后退按钮,但如果您不使用它,则必须处理它。

这个 已经有了关于如何处理 Android 上的后退按钮的答案。

编辑

至于"exit"部分,Charm Down OSS库已经提供了关闭应用程序的服务。通过添加 Lifecycle 插件,它可以很容易地包含在您的项目中:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.1.0'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
}

mainClassName = '<your.main.class>'

jfxmobile {
    downConfig {
        version '3.0.0'
        plugins 'lifecycle'
    }
    android {
        manifest = 'src/android/AndroidManifest.xml'
    }
}

现在,当您想通过后退按钮完成应用程序时,您只需调用 shutdown

Services.get(LifecycleService.class).ifPresent(LifecycleService::shutdown);

在后台,这将检查平台,并在桌面上调用 Platform.exit() 或在 Android 上调用 FXActivity.getInstance().finish()