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