安卓螢幕亮度設定相關

2021-07-07 07:10:19 字數 1777 閱讀 5352

我們知道,安卓手機螢幕的亮度和鎖屏時間是由系統設定控制的,但在開發某些應用時,我們不希望它執行過程中鎖屏或者希望保持指定的亮度,雖然這些在系統設定選項裡可以實現,但難免會忘記設定以至於達不到希望的執行效果。如果在開發程式時,把這些工作在**裡實現是個不錯的選擇。

那麼如何實現**控制螢幕鎖屏和亮度呢?

1、如果希望保持螢幕常亮,可以在**中oncreate()下新增如下語句:

getwindow().setflags(windowmanager.layoutparams.flag_keep_screen_on, windowmanager.layoutparams.flag_keep_screen_on);
// mytag可以隨便寫,可以寫應用名稱等
powermanager pm = (powermanager) getsystemservice(context.power_service);
// 換成powermanager.screen_dim_wake_lock會變暗)
powermanager.wakelock wl = pm.newwakelock(powermanager.screen_bright_wake_lock, "mytest1");
wl.acquire();// 開啟螢幕常亮
wl.cancel();//關閉螢幕常亮(可根據實際情況新增到指定位置)

2、如果希望保持螢幕常亮,則需要定義幾個函式:

private void screenbrightness_check()// 亮度模式檢測,如果為自動,則關閉該模式

} catch (settingnotfoundexception e)

} private void autobrightness()// 設定亮度自動調節

private void setscreenbritness(int brightness)// 亮度調節

// 設定當前activity的螢幕亮度

windowmanager.layoutparams lp = this.getwindow().getattributes();

// 0到1,調整亮度暗到全亮

lp.screenbrightness = float.valueof(brightness / 255f);

this.getwindow().setattributes(lp);

// 儲存為系統亮度

android.provider.settings.system.putint(getcontentresolver(),

android.provider.settings.system.screen_brightness, brightness);

}

/*在呼叫時,執行如下函式*/
screenbrightness_check();// 關閉亮度自動調節

setscreenbritness(n);// 設定指定亮度,n的取值範圍是0—255,其中0為最暗,255最亮

3、最後注意在androidmanifest.xml中新增相應的許可權:

這樣,我們就可以在需要時調節螢幕亮度和常亮了。

安卓螢幕相關概念

px pixels 畫素 螢幕上的點,與密度相關。密度大了,單位面積上的px比較多。表示螢幕實際的象素。例如,320 480的螢幕在橫向有320個象素,在縱向有480個素。dip或dp 與密度無關的畫素 這個和裝置硬體有關,設定一些view的寬高可以用這個,一般情況下,在不同解析度,都不會有縮放的感...

設定Ubuntu螢幕亮度

我的ubuntu的版本是 root cat etc issue ubuntu 12.04.2 lts n l 進入圖形介面的亮度總是最大亮度,需要手動按fn f4來降低亮度 每次都要設定亮度很是麻煩,以下將解決方法簡單描述,給存在同樣問題的ubuntu ubuntu 12.04 開機自動設定亮度的方...

ubuntu設定螢幕亮度

樓主的本本是acer4750g 系統是ubuntu kylin 14.04 文章出處?1 sudogedit etc default grub 在開啟檔案中找到 grub cmdline linux 改成 grub cmdline linux acpi backlight vendor 改好後儲存即...