gpt4 book ai didi

android - 在 Android 中重复任务

转载 作者:行者123 更新时间:2023-11-29 15:26:29 24 4
gpt4 key购买 nike

我尝试定期(1 秒)切换屏幕亮度的低和高,我认为这段代码应该有效:

SystemClock.sleep(1000);
params.screenBrightness = 0;
getWindow().setAttributes(params);


SystemClock.sleep(1000);
params.screenBrightness = 1;
getWindow().setAttributes(params);

我已经尝试了这些代码,但它只完成了第二个(如果我扩展了代码,则为最后一个)(即亮度=1)。因为我对此表示怀疑,所以我在每个 sleep 函数之后放置了一个变量 int i = 0,然后是 i++,它最终向我显示了 i = 2(通过显示字符串)。我认为 Android 会计算总和,但我的屏幕只会对最后的设置使用react,而不会对中间命令使用react。您知道为什么会这样吗?我该如何切换屏幕亮度?

我也尝试使用“for”循环,但没有成功。

希望尽快收到您的意见。

干杯,

最佳答案

我不确定你为什么要每隔一秒调亮和调暗你的屏幕......但是如果你想在时间延迟上运行代码,请考虑使用 Handler 和 Runnable:

import android.view.WindowManager.LayoutParams;
public class Example extends Activity {
private LayoutParams mAttributes;
private Handler mHandler = new Handler();
private Window mWindow;

private Runnable onEverySecond = new Runnable() {
public void run() {
if(mAttributes.screenBrightness != LayoutParams.BRIGHTNESS_OVERRIDE_FULL)
mAttributes.screenBrightness = LayoutParams.BRIGHTNESS_OVERRIDE_FULL;
else
mAttributes.screenBrightness = LayoutParams.BRIGHTNESS_OVERRIDE_OFF;

mWindow.setAttributes(mAttributes);
mHandler.postDelayed(onEverySecond, 1000);
}
};

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mWindow = getWindow();
mAttributes = mWindow.getAttributes();

mHandler.post(onEverySecond);
}
}

关于android - 在 Android 中重复任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12220239/

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