PowerManager.WakeLockを使用します.

1685 ワード

PowerManager.WakeLockを使用して、プログラムの実行時に携帯画面の明るさを一定に保つ.
 
public class WakeLockDemo extends Activity {
    private PowerManager.WakeLock wakeLock = null;

    //   
    public void acquireWakeLock(Context context) {
        if (wakeLock == null) {
            PowerManager powerManager = (PowerManager)(context.getSystemService(Context.POWER_SERVICE));
            wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
            wakeLock.acquire();
        }
    }

    //   
    public void releaseWakeLock() {
        if(wakeLock != null && wakeLock.isHeld()){
            wakeLock.release();
            wakeLock = null;
        }
    }

    @Override
    public void onCreate() {
        super.onCreate();
         //   
    }

    @Override
    public void onResume() {
         acquireWakeLock(this);
        super.onResume();
    }

    @Override
    public void onPause() {
         releaseWakeLock();
        super.onPause();
    }

}
 
 
各種ロックの種類はCPU、画面、キーボードに対する影響:
パルティールWAKE_LOCK:      CPUの運転を維持し、画面とキーボードのランプをオフにします.
SCREEN_DIM_WAKE_LOCK:  CPUの運転を維持し、画面の表示を維持しますが、暗くなります.キーボードのランプがオフになります.
SCREEN_BRGHT_WAKE_LOCK:CPUの運転を維持して、スクリーンの明るい表示を維持して、キーボードの明かりが閉じることを許可します.
FULL_WAKE_LOCK:        CPUの運転を維持して、スクリーンとキーボードの明かりがすべて高いことを維持して表示します.
ACQUIRE_CAUSES_WAKEUP: ロックを取得すると、すぐに画面が明るくなり、ユーザーがすぐに確認できるように通知に典型的に使用される.
ONするAFTTER.RELEASE:      ロックを解除しても携帯の画面は少し明るくなります.