티스토리 뷰

반응형

안녕하세요


 오늘의 포스팅은 화면 잠겼다가 다시 띄워졌을때 


내가 만든 Activity가 Lock화면 보다 위로 띄우는 


포스팅을 할꺼에요.


우리는 말을 믿지 않죠 포스팅 시작해볼께요







 띄우고자 하는 Activity OnCreate

 

저는 쉽게 하기 위해서 onCreate에 했는데요 다른식으로 하셔도 될것 같아요. 아래 코드와같이 getWindow에 setFlag로 


각가지의 Flag를 set해주면 되요.


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);



setContentView(R.layout.flag_activity);
((TextView)findViewById(R.id.txt_flag_)).setText("FLAG_SHOW_WHEN_LOCKED");
}



See also


1. 한번에 flag 삽입하기


위에 처럼 한개씩 addFlag 하셔도 되고요. 아래 코드 처럼 한번에 하는 방법도 있습니다.


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);



getWindow().setFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON,
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

setContentView(R.layout.flag_activity);

((TextView)findViewById(R.id.txt_flag_)).setText("FLAG_DISMISS_KEYGUARD");
}


2. flag clear 


보통은 액티비스가 삭제 되었을시 flag가 자동으로 clear되지만 코드로도 할수있는 방법이 있습니다.


대신 한개씩 해야되네요 훔...


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
setContentView(R.layout.flag_activity);

((TextView)findViewById(R.id.txt_flag_)).setText("FLAG_DISMISS_KEYGUARD");
}



3. 사용한 FLAG 



getWindow().setFlags(
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |  >> 폰이 Lock 상태 이면 보여 주지 않음. (Lock 을 해제 해야만 보임)
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | >> 폰이 락상태이면 보여줌 
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON,  >> 화면을 on시키겠따

 


반응형
댓글