마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

lock 화면 위에 activity 를 띄우고 싶습니다.

0 추천
우선 제가 하려는거는요
 
 
화면이 꺼져있어도 gcm 으로 메세지 보내면 꺼진상태에서 화면이 켜진후 해당 activity 를 띄우고 싶습니다.
 
 
그래서 메세지를 보내면 화면이 우선 켜지고, 그다음에 activity 가 정상적으로 화면이 노출되는데
 
 
여기서 lock k이 걸려있으면 화면이 켜진후 그냥 lock 화면만 보인다는겁니다.
 
 
당연히 lock 화면 해제후엔 제가 띄운 activity 가 보여지구요
 
 
lock 화면 보다 먼저 activity 를 노출시킬수 있는 방법은 없나요?
 
 
제가 구글링 해서  oncreate 부분에
 
 
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);
 
 
 
 
 
setContentView(R.layout.activity_main);
 
 
이렇게 해봤는데 역시나 lock 화면보다 뒤에 뜨더군요
 
 
지금 핸드폰 노트2  4.3에서 테스트 하고 있는데  아시는분 답변좀 부탁드릴게요
 
 
 

 

 
견이갱이 (240 포인트) 님이 2014년 4월 8일 질문

1개의 답변

+1 추천

Lock 화면 위로 실행되는것은. full-screen 모드만 지원합니다.

WindowManager.LayoutParams.FLAG_FULLSCREEN하나 더추가해주시면 되겠습니다

whdrb19 (23,520 포인트) 님이 2014년 4월 9일 답변
그렇게 추가 해도 안되는데요~ 아직도 락 화면만 보이고 락 해제해야 그뒤로 해당 activity 가 보이네요~
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
매니페스트 추가해주셨나요~

super.onCreate 바로 아래코드에다가
requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN
         |WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
         | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
         | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

이렇게 한번 추가해보세요
//        FLAG_SHOW_WHEN_LOCKED : Lock 화면 위로 실행(full-screen 만 지원)
//        FLAG_DISMISS_KEYGUARD : Keyguard를 해지한다.
//        FLAG_KEEP_SCREEN_ON: Screen 을 켜진 상태로 유지한다.
//        FLAG_TURN_SCREEN_ON : Screen On
//        FLAG_KEEP_SCREEN_ON 과 FLAG_DISMISS_KEYGUARD 를 같이 사용 해야 함.
매니페스트도 다 추가 되어있었구요
말씀해주신대로 해도 여전히 lock 화면 뒤로 뜨네요~
4.3버전부터 안되는건지 모르겠네요~
...