- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我尝试了 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);
在这里,您将 1
和 255
之间的值传递给函数。
关于java - 使用 Qt Android 控制平板电脑的亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745011/
我的应用程序中有两个 Activity 。第一个 Activity 启动模式是 singleInstance,第二个 Activity 启动模式是 singleTask。我正在使用这些启动模式,因为我
据热心网友投稿,小米小爱触屏音箱Pro 8外观曝光,可以看到触控屏幕尺寸比较大,像是在音箱上“长”了一个平板。 从曝光的信息来看,小米小爱触屏音箱Pro 8具有白色的配色设计,下方有一个长
我有一张 table ,看起来像, VisitorId date deviceType 1 2018-12-11 mobile 2
今天下午,小米官方公布了小爱触屏音箱Pro 8,可以看到触控屏幕尺寸比较大,音箱上“长”了一个平板。据悉,小米小爱触屏音箱Pro 8具有白色的配色设计,下方有一个长条状的扬声器,上方带有一个尺寸比较
有没有办法检测是否使用手持浏览器(iOS/Android 手机/平板电脑)? 我尝试这样做的目的是让手持设备上的浏览器中的元素宽度减半,但这并没有什么不同。 width: 600px; @media
目前,Google Analytics for web 公开了一个设备类别字段,其离散值为mobile、tablet 和desktop。该界面还允许您更深入地了解它的具体设备。我想 Google 有某
我是一名优秀的程序员,十分优秀!