gpt4 book ai didi

java - 使用 Qt Android 控制平板电脑的亮度

转载 作者:太空狗 更新时间:2023-10-29 13:19:33 25 4
gpt4 key购买 nike

我尝试了 Qt 论坛,但无济于事。我正在尝试开发一个 Android 应用程序,其中一个功能是改变平板电脑背光的亮度。我已经使用 LayoutParams 和 Android putInt 系统亮度在 Android Studio(用 Java)中成功编写了两个程序来改变亮度。当我尝试将代码移动到我的 Qt 应用程序时,问题就出现了。我有 JNI 代码,它运行我的功能,但是当我粘贴亮度代码以更改亮度方法时,应用程序失败。

根据我对 Android 和错误陈述的了解,我的问题(我认为)是我没有在 UI 线程上运行代码。我试图强制我的 Java 方法成为 Runnable 并使用 runonUiThread 但它不支持 ContentResolver 或 Window,因为它不是 Activity。

有没有人有这方面的经验可以指导我?或者是否有过让 Android 设置中的任何东西正常工作的经验?

感谢大家的帮助,安德鲁

最佳答案

您可以将它放在一个静态 Java 方法中,例如:

package com.MyApp;

public class BrightnessChanger
{
public static int change(int n)
{
float brightness = n / (float)255;
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = brightness;
getWindow().setAttributes(lp);
}
}

然后您可以从 C++ 代码中调用这个静态 Java 函数:

bool retVal = QAndroidJniObject::callStaticMethod<jint>
("com/MyApp/BrightnessChanger" // class name
, "change" // method name
, "(I)I" // signature
, 50);

在这里,您将 1255 之间的值传递给函数。

关于java - 使用 Qt Android 控制平板电脑的亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com