2011-07-03 1 views
4

이제 다시 시도해 보겠습니다.Android 개발 : 서비스의 화면 밝기 변경

화면 밝기를 변경하고 싶습니다.

WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); 
layoutParams.screenBrightness = 0.5F; // set 50% brightness 
getWindow().setAttributes(layoutParams); 

및 활동에 작동하는 것 같다하지만 서비스에서 오전 때 나는 getWindow() 컴파일 오류가 있음을 얻을 :

나는 시도했습니다.

답변

4

서비스가 화면 밝기를 그런 식으로 변경할 수 없습니다. 서비스에는 사용자 인터페이스가 없으므로 Window이 없습니다.

SCREEN_BRIGHTNESS 시스템 설정을 통해 시스템 전체의 밝기를 변경할 수 있습니다. 나는 그것을 시도하지 않았기 때문에 이것이 작동하는지 잘 모른다.

그렇지 않으면 활동을 수정하여 밝기를 변경하십시오.

+0

하지만 서비스는 매 10 분마다 확인합니다. 어떻게 서비스를 다른 클래스로 트리거 할 수 있습니까? – carefacerz

+0

@carefacerz : 화면 밝기를 "매 10 분마다 점검"할 때 가능한 가능한 목표는 무엇입니까? – CommonsWare

+0

실제로 파워 세이버를 좋아합니다 ... – carefacerz

0
당신은 당신의 서비스에서 활동을 시작해야

, 당신이해야 할 모든이있다 :

MyActivity이 시작하려는 활동이
Intent myIntent = new Intent(getBaseContext(), MyActivity.class); 
getApplication().startActivity(myIntent); 

. 그 액티비티 안에는 창 밝기를 변경하는 코드를 넣을 수 있습니다.

나는 전체 코드 여기에 포함했습니다 https://stackoverflow.com/a/9848456/1204377

는 여전히 불분명 알려줘.