您好,登錄后才能下訂單哦!
// 最大的屏幕亮度 private float maxLight; // 當(dāng)前的亮度 private float currentLight; // 用來控制屏幕亮度 private Handler lightHandler; // 60秒時(shí)間不點(diǎn)擊屏幕,屏幕變暗 private long delayTime = 60 * 1000L; protected void onCreate() { // 保持屏幕常亮 getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // 屏幕亮度控制 lightHandler = new Handler(Looper.getMainLooper()); maxLight = getLightness(); } @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (currentLight == 1) { startSleepTask(); return false; } startSleepTask(); return super.dispatchTouchEvent(ev); } /** * 獲取亮度 */ private float getLightness() { WindowManager.LayoutParams localLayoutParams = this.getWindow().getAttributes(); return localLayoutParams.screenBrightness; } /** * 設(shè)置亮度 */ private void setLightness(int light) { currentLight = light; WindowManager.LayoutParams localLayoutParams = this.getWindow().getAttributes(); localLayoutParams.screenBrightness = (light / 255.0F); this.getWindow().setAttributes(localLayoutParams); } /** * 開啟休眠任務(wù) */ private void startSleepTask() { setLightness((int) maxLight); stopSleepTask(); lightHandler.postDelayed(sleepWindowTask, delayTime); } /** * 結(jié)束休眠任務(wù) */ private void stopSleepTask() { lightHandler.removeCallbacks(sleepWindowTask); } /** * 休眠任務(wù) */ Runnable sleepWindowTask = new Runnable() { @Override public void run() { setLightness(1); } };
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。