안드로이드 프로그래밍 시 화면 꺼짐 방지 기능은 다음과 같이 설정하면 된다.
getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
반대로 꺼짐 방지를 해제하려면…다음과 같이 한다.
getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
필요할 때 꺼짐 방지를 설정하거나 해제할 수 있다.
다음으로 안드로이드 화면 밝기 제어하기는 아래의 순서로 한다.
우선 현재 화면 상태를 보관하고, 새로운 상태를 지정하기 위해 WindowManager.LayoutParams 변수를 아래와 같이 두 개를 선언한다.
private WindowManager.LayoutParams moldLp; // 현재 화면 상태 보관용
private WindowManager.LayoutParams mnewLp; // 새로운 화면 상태 설정용
private Window mWindow;
다음으로 onCreate에서 현재 화면 상태를 저장한다.
mWindow = getWindow();
moldLp = mWindow.getAttributes(); // 현재 스크린 설정값 보관
mnewLp = mWindow.getAttributes();
현재 화면을 벗어나면 원래 밝기로 복귀하도록 저장한 값을 onPause에서 설정한다.
mWindow.setAttributes(moldLp); // 이전 스크린 설정값 복원
원하는 밝기가 필요한 화면에 들어오면 밝기를 설정하도록 onResume에서 설정한다.
mnewLp.screenBrightness = 1.0f;// 원하는 밝기를 지정한다(0~1 까지의 실수값).
mWindow.setAttributes(mnewLp);
위와 같이 하면 원하는 밝기를 지정할 수 있다.
액티비티에 대해 화면 꺼짐 방지 및 화면 밝기 제어