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

홈버튼 처리... 질문드립니다 manifest에서 [CATEGORY_HOME]으로 처리

0 추천
홈버튼을 막는 방법을 구현 중인데, 정답이 없더라구요.

activity cycle에서 onPause로 들어가는 방법이나 SYSTEM_ALERT_WINDOW 퍼미션 등의 방법은 안정하지 않은것 같구요.

메니페스트 상의 인텐트 필터를 써서 ACTION_MAIN이랑 CATEGORY_HOME 속성을 써서, 홈버튼을 누를때 나의 커스텀 런처를 실행하는 방법이 가장 권장되는 방법으로 많이 추천해주시는것 같습니다.

(메니페스트에 CATEGORY_HOME속성을 추가하면 홈버튼이 최초에 눌릴때 자동으로 사용자에게 어떤 luncher를 고를지 dialog가 뜨고, 기본 홈화면이나 아니면 나의 런처중에 하나를 고르고 이후 계속 그걸 실행하게 합니다)

캠프모바일의 도돌락커도 그런 방법을 사용하고 있는것 같은데요.

 

문제는 내 앱이 켜저 있을때는 홈버튼을 누르면 결국 내 앱을 호출하므로 아무런 문제가 없는데,

내 앱 말고 다른일을 하고있다가 홈버튼을 누르면 내 앱이 실행된다는 거죠.

 

홈버튼으로 실행되는 내 액티비티안에서, 어떻게 해보려고 했는데요.

내앱에서 홈버튼을 누르면 ->아무것도 안하고

기타 다른곳에서 홈버튼 -> 홈스크린으로 이동

 

그런데 저 위에 '홈스크린으로 이동' 하는 명령 자체가 제 커스텀으로 설정되어 버렸기 때문에 어떻게 건드릴 수 가 없더라구요...

 

그런데 도돌락커는 '잠김 해제후 사용할 런처'라고 홈버튼 누르면 나오는 런처가 도돌락커가 켜져있을때랑, 아닐때가 확실히 분리가 되어있는거 같은데, 이걸 어떻게 분리시킬수 있을지 도저히 모르겠네요.

 

대충 manifest의 activity 속성에서 android:taskAffinity를 이용해서 한번 나눠볼까, 하고 생각을 해봤는데 잘 모르는 속성이다 보니까 이걸로 할 수 있을지 잘모르겠네요.

혼자 끙끙 찾아보려고 하는데, 꽤 어렵네요.. 정말 부탁드립니다..!!!
익명사용자 님이 2014년 3월 26일 질문

1개의 답변

0 추천
안녕하세요? 시간이 많이 지났습니다... 혹시 이 문제 해결하고 열반하셨나요?
익명사용자 님이 2019년 7월 27일 답변
...