안드로이드 개발 질문/답변
(글 수 45,052)
알람 작동하고있습니다. 알람시간이 되면 다이얼로그 창을 띄웁니다.
aManager.set(AlarmManager.RTC_WAKEUP, mcal.getTimeInMillis(), sender);
RTC_WAKEUP 으로 화면이 꺼저있을 때도 실행이 잘 되는데요.
시간이 되면 화면을 깨우고 같이 다이얼로그도 띄우고싶습니다.
찾아본 결과 아래와 같은 소스를 추가하면 된다고 하던데요.
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
알람이 시작되는 시점은 BroadcastReceiver를 상속받은 onReceive안에 있고
알람의 sender와 알람 메니져는 static메소드 안에 들어어있는 상태입니다.
위의 소스는 onCreate에서만 사용이 가능 한 듯 싶습니다.
다이얼로그 엑티비티를 생성하는 onCreate에 이 소스를 넣어봐도 작동을 안하던데. 아래 처럼 넣으면 되야될 것 같은데 안되네요 ;;ㅠ
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
requestWindowFeature(android.view.Window.FEATURE_NO_TITLE); //투명하게 만들엑티비티의 타이틀을 없엠
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); //사용자가 화면을 끄지않는한 꺼지지않게 유지
getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, // 생성되는 엑티비티의 초점을 잃게 만듬. 뿌옇게
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
setContentView(R.layout.dialog);
이 문제로 저 말고 몇분이 더 질문 하셨던데. 조언좀 부탁드리겠습니다.




PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK , "FXMANIA");
wl.acquire();
wl.release();
해주면 됩니다.
전 c2dm 사용시 이방식으로 처리했습니다.
파워매니저를 통해서 전원을 강제조절하는 방식이라 추천은 안하는데 이런방식으로 구성하시면 리시버 내부에서도
화면켜기 제어가 됩니다.
PowerManager 의 자세한 내용은 조금만 찾아보시면 될것 같습니다.