我想知道任何纯粹的QML方式,以了解应用程序是否在后台,然后相应地停止或播放音乐。在meego中,替代方法是通过PlatformWindow元素,但在Symbian QML中不存在。帮助需要请当应用程序在后台时,在QML中暂停应用程序Symbian
1
A
回答
2
最后我得到它的工作:)我做到了,虽然Qt的方式......这里的步骤
1)创建一个类MyEventFilter
2)然后在main.cpp中包括这个文件包括类和添加setContext属性格式像在本
context->setContextProperty("myqmlobject", &ef);
3) QML文件调用它是这样的:
Item {
id: name
Connections
{
target:myqmlobject
onQmlvisiblechange:
{
if(is_foreground)
{
//dont do anything...
}
else
{
playSound.stop()
}
}
}
}
享受:)
1
为什么你需要一个纯粹的QML方式?
您可以通过安装事件过滤器来检测应用程序是否已发送到后台。 检查:http://www.developer.nokia.com/Community/Wiki/Detecting_when_a_Qt_application_has_been_switched_to_the_background_and_when_resumed
对于“纯” QML的方式,有Symbian
QML元素: http://doc.qt.nokia.com/qt-components-symbian/qml-symbian.html
它有一个属性,指示应用是否在前台或后台。您可以尝试连接到onForegroundChanged
。
从文档中,Symbian
元素不是“可创建的”。它作为名为symbian
的上下文属性存在。因此,一个样本用法是:
import QtQuick 1.1
import com.nokia.symbian 1.1
PageStackWindow {
id: window
initialPage: MainPage {tools: toolBarLayout}
showStatusBar: true
showToolBar: true
function appForegroundChanged() {
console.log("Foreground: " + symbian.foreground)
}
function appCurrentTimeChanged() {
console.log("Current time: " + symbian.currentTime)
}
Component.onCompleted: {
symbian.currentTimeChanged.connect(appCurrentTimeChanged)
symbian.foregroundChanged.connect(appForegroundChanged)
}
ToolBarLayout {
id: toolBarLayout
ToolButton {
flat: true
iconSource: "toolbar-back"
onClicked: window.pageStack.depth <= 1 ? Qt.quit() : window.pageStack.pop()
}
}
}
相关问题
- 1. 当应用程序进入后台时显示暂停菜单
- 2. 暂停请求当应用程序转到后台时收听
- 3. Websocket在Android应用程序转到后台时暂停
- 4. 当应用程序在后台时NSURLConnection
- 5. 当后台应用程序停止BackgroundService
- 6. 当OS暂停时恢复Android webview /在后台应用程序上运行JavaScript?
- 7. MPMusicPlayerController在后台暂停并在应用程序进入前台时继续
- 8. 位置更新,而应用程序在后台或暂停
- 9. 在Android中暂停应用程序
- 10. 当应用程序在后台时停止Android服务
- 11. 暂停应用程序
- 12. Qt应用程序暂停
- 13. ConnectionRequest当应用程序在后台
- 14. IOS CancelNotificaion当应用程序在后台
- 15. CAAnimation:当应用程序在云后台
- 16. 怎么当应用程序在后台
- 17. 有道当应用程序在后台
- 18. Android - 应用程序的LeScanCallback会在应用程序进入暂停(到后台)时被调用吗?
- 19. 在Symbian/QML应用程序中屏幕之间传递状态
- 20. 进入后台后,应用程序永远不会被暂停?
- 21. onTouchEvent正在暂停应用程序
- 22. 意图当应用程序在后台时立即打开应用程序-Android
- 23. Android应用程序时间延迟当应用程序在后台运行
- 24. 暂停计时器时应用程序是在后台状态斯威夫特
- 25. iOS应用程序暂停超时
- 26. 停止后台服务当应用程序转到后台
- 27. 当应用程序进入后台时运行后台线程
- 28. 在应用程序暂停时从小部件打开应用程序
- 29. ASP.NET web应用程序在暂停后响应缓慢
- 30. symbian应用程序作为后台进程
我想一个纯QML方式我吸在Qt编程...我看过您提供的第二个链接..但不知何故,我QtCreator在qml中没有Symbian标签。你可以在你的QtCreator中试用它,让我知道我错过了什么。我安装了QtSdk 1.1并且也使用了QtQuick 1.1。仍然Symbian标签不能被我的ide ... – SoH
检查我编辑的答案。 – sabbour