如何判断应用程序是否会被 QML 暂停

如何判断应用程序是否会被 QML 暂停

我正在为 Ubuntu Touch 开发一款游戏,当用户离开应用程序转到另一个应用程序时,该游戏需要进入“暂停”状态。我该如何实现这一点?

我尝试查看 MainView 的可见性是否发生变化,但并没有变化。在 cookbook 和 API 中都找不到它。

答案1

qt 导入的命名空间中有一个应用程序属性,其状态可以绑定到:

Connections {
    target: Qt.application
    onStateChanged:
        if(Qt.application.state !== Qt.ApplicationActive) {
            // Pauze the game here
        }
}

文档这里内容如下:

应用程序状态

Qt.ApplicationActive - 该应用程序是最顶层和最集中的应用程序,用户能够与该应用程序进行交互。

但从顶部或左侧滑动也会出现此问题。

在桌面上,当您调整窗口大小时也会出现这种情况,我认为这是一个错误。


还有:

Qt.ApplicationSuspended - 应用程序已暂停,用户无法看到。在移动平台上,当用户返回主屏幕或切换到另一个应用程序时,应用程序通常会进入此状态。在此状态下,应用程序应确保用户认为它始终处于活动状态,不会丢失进度,并保存任何持久数据。应用程序应停止所有活动并准备好停止代码执行。在暂停状态下,应用程序可以随时被终止,而无需进一步警告(例如,当内存不足迫使操作系统清除已暂停的应用程序时)。

但这似乎不起作用。我报告了一个错误报告。如果它也影响到你,请标记。

相关内容