본문 바로가기

나의 플랫폼/안드로이드

[ Android ] 잠금 화면 상태 확인

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
 어플리케이션을 개발할 때, Mediaplayer나 Alarm 같은 백그라운드에서
계속 실행되게 하는 기능을 자주 사용하는데요.
사용 시, 종료 버튼을 누르고 잠금 화면에서 소리가 계속 나오더라구요.
 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();

 
위 소스를 통해 잠금 상태를 확인 할 수 있습니다.

분명 지금 제 상황 말고도 많이 쓰일 듯 하네요~

그럼 오늘도 즐코딩!!^^