我写了这个代码
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0.1F;
getWindow().setAttributes(params);
SystemClock.sleep(5000);
TextView Text01 = (TextView) findViewById(R.id.Text1);
Text01.setText("Hello");
设置屏幕亮度,然后在5秒钟后显示文本。问题是它会等待5秒,然后安卓会调暗屏幕,同时输出文本。为什么它不能按顺序工作?感谢
我的猜测是,代码正在UI线程中运行,这意味着在函数退出之前,任何东西都不会被绘制到UI中。您可能需要设置某种回调来触发将来的文本更改。也许是AsyncTask,其中睡眠发生在后台线程中,UI更改代码发生在onPostExecute
中。