폰의 잠금기능을 어플에 보조기능으로 구현해야 하는데,
public void onAttachedToWindow()
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD)
이 기능을 쓰면 어플이 정지하며 튕기더군요....ㅠㅠ
뒤로가기는 쉽게 막아낼수 있떤데
Home 키는 하드웨어적인 키라 막기가 힘들다고 하시더군요 ㅠㅠ
그래서 여러방면으로 찾다보니 onUserLeaveHint() 이 기능으로
여차저차 Home키가 눌렸을떼를 잡아낼수 있었습니다...
하지만 이것만으로 Home키를 막기는 제 능력이 많이 부족한가 보네요 ㅠㅠ
Intent로 자기 자신을 불러오게 해서, 홈키가 눌러지면, 아무 반응이 없도록 해봤습니다만, 소용이 없었고
onRestart()를 통해 백그라운드로 갔다가 다시 앞으로 나오게끔 하려고 했는데도 안되더군요 ㅠㅠ
제 생각에는 Home키를 무용지물로 만들기에는 무리가 있고,
Home키에 의해 백그라운드로 어플이 이동하게 되면 강제적으로 다시 앞으로 나오게 할수 있도록 하는 방법이 최선인거 같아요...
어떻게 하면 구현할수 있을지 힌트좀 자세히 주셨으면 감사하겠습니다 ㅠㅠ
서비스를 하나 돌리고
액티비티가 백그라운드로 갈때 서비스에게 알리고
다시 액티비티를 호출하면 될거에요.
이때 기존액티비티의 인텐트로는 호출하려고 하면 에러가 뜰것이고
FLAG_ACTIVITY_NEW_TASK 플래그를 추가하여 액티비티를 시작하면 된다고 합니다.
홈키 어떻게 막을까 찾다가 이 게시물에 들어왔는데 일단
public void onAttachedToWindow()
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD)
이걸 쓴다고 팅기지는 않고요. 아마 작성자분께서 manifest.xml에
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
이 퍼미션 설정을 안해준 듯 합니다.
제가 보기엔 home 키를 막기보다는 onUserLeaveHint()에 특정 이벤트를 준다던지 아님 activity를 씌운다던지 하는게 나을 듯 하네요.
락 화면은 아니지만, 앱 잠금 기능을 구현할 때 보통 2가지 방법을 쓰잖아용?^^
첫번째로 로그에서 ActivityManager의 활동을 감시하는 거고, 다른건 서비스를 띄워서 프로세스 정보를 감시하는 건데요.
음.. 락 화면도 첫번째 기능? 같은걸 응용해서 다른 Activity가 앱이 뜨는걸 감지해서 막아버리면 어떨까 싶은데요.
런처도 앱의 하나일 것 같다는 느낌이 들어서요^^ㅋ 제가 확인해본 내용은 아니구용.. 그냥 참고만 하세요^^