2011年4月8日 星期五

設定Brightness功能

設定Brightness功能
在提及設定Brightness功能之前要先介紹一下目前Android設定Brightness的方式。
目前Android設定Brightness的方式大致上分為二種:
1. 調整目前AP的亮度,離開AP會返回系統設定亮度
2. 調整系統亮度,但是設定值要在亮度有被修改時才會更新
    例如:進入設定亮度頁面,再離開,或修改AP亮度。

若要在AP裡設定系統亮度,則需要使用到上述二個部分。
相關程式碼如下:

AndroidManifest.xml
    加入權限"android.permission.WRITE_SETTINGS"

Xxx.java
// 可以利用SeekBar物件當作設定值的輸入
// 修改系統亮度設定
    // 先將亮度設定模式調整為手動
    Settings.System.putInt(
        getContentResolver(),
        Settings.System.SCREEN_BRIGHTNESS_MODE,
        Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
    // 修改系統亮度設定 (setting rage : 0~255)
    Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS,value);

    // 修改目前視窗亮度 (setting rage : 0.0~1.0)
    WindowManager.LayoutParams lp = getWindow().getAttributes();
    lp.screenBrightness = value/255f;
    getWindow().setAttributes(lp);

*當設定值0時,會造成Android系統將整個螢幕關閉的問題。

沒有留言:

張貼留言