仅使用javafxports 8.60.7 for Android(不使用Gluon Mobile) - 当您按“返回”按钮时,应用程序将不会退出。 我该如何解决这个问题?
答案 0 :(得分:0)
虽然JavaFXPorts允许您在Android上运行普通JavaFX,但是OpenJFX项目没有实现某些平台功能,例如您提到的后退按钮。
Gluon Mobile可以在视图和图层中正确处理后退按钮,但如果您不使用它,则需要处理它。
这个question已经有了如何处理Android上的“后退”按钮的答案。
修改强>
对于“退出”部分,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()
。