나의 플랫폼/안드로이드
[ Android ] 잠금 화면 상태 확인
GsBOB
2011. 7. 25. 14:04
어플리케이션을 개발할 때, Mediaplayer나 Alarm 같은 백그라운드에서
계속 실행되게 하는 기능을 자주 사용하는데요.
사용 시, 종료 버튼을 누르고 잠금 화면에서 소리가 계속 나오더라구요.
OnPause함수를 부를 때 정지를 시키고, OnResume 함수때 다시 소리를 실행하는 상황인데요.
잠금 화면에서도 소리가 나오더라구요.!!!! 이런 젠장! ㅋ
그래서 잠금화면 시점을 알아내야만 하는 결과가...
결국 열심히 반나절을 구글링한 끝에.. 해결책을 찾았습니다!!^^
위 소스를 통해 잠금 상태를 확인 할 수 있습니다.
분명 지금 제 상황 말고도 많이 쓰일 듯 하네요~
그럼 오늘도 즐코딩!!^^
계속 실행되게 하는 기능을 자주 사용하는데요.
사용 시, 종료 버튼을 누르고 잠금 화면에서 소리가 계속 나오더라구요.
OnPause함수를 부를 때 정지를 시키고, OnResume 함수때 다시 소리를 실행하는 상황인데요.
@Override
protected void onResume() {
if(backgroundMediaPlayer != null)){
backgroundMediaPlayer.start();
}
super.onResume();
}
@Override
protected void onPause() {
if(backgroundMediaPlayer != null){
// 종료 시 다시 실행이 되지 않아
// MediaPlayer자체를 제거해버렸습니다.
if(isClickedPower){
backgroundMediaPlayer.release();
backgroundMediaPlayer = null;
isClickedPower = false;
}else{
backgroundMediaPlayer.pause();
}
}
super.onPause();
}
그래서 잠금화면 시점을 알아내야만 하는 결과가...
결국 열심히 반나절을 구글링한 끝에.. 해결책을 찾았습니다!!^^
KeyguardManager km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
if(backgroundMediaPlayer != null && !km.inKeyguardRestrictedInputMode()){
backgroundMediaPlayer.start();
}
위 소스를 통해 잠금 상태를 확인 할 수 있습니다.
분명 지금 제 상황 말고도 많이 쓰일 듯 하네요~
그럼 오늘도 즐코딩!!^^