当前位置: 首页 > 面试题库 >

如何在Qt for Android中保持屏幕打开?

浦墨竹
2023-03-14
问题内容

我找到了几种解决方案,如何在Java中做到这一点,但没有找到如何在QML或Qt中做到这一点。我知道首先我应该在中设置WAKE_LOCK许可AndroidManifest.xml。我应该怎么做才能在运行时从Qt打开和关闭屏幕锁定?


问题答案:

您可以使用Qt Android Extras模块并使用JNI从C ++调用相关的Java函数。就像是 :

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);
        }
    }
}


 类似资料:
  • 我一直在努力研究如何在我正在开发的应用程序中保持屏幕打开。网上有很多关于这方面的信息,但我还没有找到任何具体的颤动。我发现了各种关于使用唤醒锁的帖子,但当我尝试我的应用程序总是在启动时崩溃。不过,我宁愿不使用唤醒锁。 我找到的信息告诉我将以下内容放入MainActivity.java。 getWindow()。addFlags(WindowManager。layout params . FLAG

  • 问题内容: 在终端中工作时,我看到了最后一个Shell命令执行输出的历史记录。如果运行vim,我会看到全屏打开的文件。退出vim时,我可以再次看到最后一个shell命令的历史记录。 但是,当我从屏幕上使用vim时。我在退出vim时看到的是刚刚编辑的文件的足迹,而不是最后一个shell命令的历史记录。 我想看看外壳的历史。 我该如何实现这种行为? 我用了: terminal.app和iterm2.a

  • 问题内容: 设置网页的最佳做法是什么,以便在该网页上显示的内容/文本很少的情况下,页脚显示在浏览器窗口的底部,而不是显示在网页的中途? 问题答案: 您正在寻找的是 CSS Sticky Footer 。

  • 在Twitter应用程序中,当你点击一条推文时,屏幕会向左滑动,就像页面在滑动一样。我想这是动画部分。我想在我的应用程序中找到它,但在上面找不到任何东西。在我的应用程序中,有许多片段可以多次添加/删除。每个片段上都有按钮,当我点击一个按钮时,新的片段就会出现。我希望他们像推特上的页面一样滑动。我知道ViewPager类,但这是不同的。请帮帮我。谢谢

  • 函数名称:保持屏幕常亮 函数功能:保持屏幕常亮 函数方法 device.wake() 函数用例 device.keepWake() 注意事项 目前积木编程函数和触动精灵函数不通用,请仔细查看本手册,此手册中函数仅支持积木编程,不支持触动精灵,同理请勿将触动精灵函数在积木编程运行。