如何保持在屏幕上的Qt为Android? [英] How to keep the screen on in Qt for android?
本文介绍了如何保持在屏幕上的Qt为Android?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我发现一对夫妇的解决方案如何做到这一点在Java中,却没有发现我怎么能做到这一点的QML Qt的或。我知道,首先我应该设置在的AndroidManifest.xml
的 WAKE_LOCK
许可。我应该怎么做,以使其能够打开和关闭屏幕在运行时从Qt的锁?
I found a couple of solutions how to do that in Java, but did not find how can I do it in QML or Qt. I know that first I should set the WAKE_LOCK
permission in AndroidManifest.xml
. What should I do to make it possible to turn on and off the screen locking from Qt in runtime?
推荐答案
您可以使用 Qt的额外的Android 模块,并使用JNI调用从C ++相关的Java功能。是这样的:
You can use the Qt Android Extras module and use JNI to call the relevant Java function from C++. Something like :
void keepScreenOn()
{
QAndroidJniObject activity = QtAndroid::androidActivity();
if (activity.isValid()) {
QAndroidJniObject window = activity.callObjectMethod("getWindow", "()Landroid/view/Window;");
if (window.isValid()) {
const int FLAG_KEEP_SCREEN_ON = 128;
window.callObjectMethod("addFlags", "(I)V", FLAG_KEEP_SCREEN_ON);
}
}
}
这篇关于如何保持在屏幕上的Qt为Android?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文