티스토리 뷰

안드로이드에는 5초룰이라는 제약이 있다.

Home키를 누른 후 약 5초간 홈으로 지정된 어플을 제외 한 다른 Activity가 실행되는 것을 방지한다.


아마도 홈 키를 하이재킹하여 악용하는 것을 방지하려고 한 것 같은데, 3rd-party lockscreen 앱을 쓰게 되면 이 점이 꽤 성가시게 된다.


많은 잠금화면 앱이 자신이 홈 역할을 대신하고 홈키를 누르면 설정된 런처를 실행해주는 것으로 이를 회피하려 하고 잇다.

그러나 이 경우 홈 앱이 일반 어플과 같은 위치가 되어 OOM Killer 동작으로 홈 앱이 죽어버리면서 다시 로딩하느라 홈딜레이 현상이 발생하게 된다.


위젯락커에서는 5초룰 패스라는 기능을 제공하고 있으나, 다른 앱에는 적용할수가 없는데,

APK파일을 일부 수정하면 5초룰을 회피할 수 있다.


잠금화면 APP의 APK파일을 APKTOOL을 통하여 디컴파일한 후 AndroidManifest.xml파일에 아래 권한을 추가한다.


 <uses-permission android:name="android.permission.STOP_APP_SWITCHES"/>


재컴파일 후 dist폴더에서 얻을 수 있는 APK파일을 안드로이드폰의 /system/app/폴더에 복사한다.

시스템 앱으로 동작해야 하기 때문에 루팅이 필요하다.


리붓 후 설정하게 되면 해당 앱은 홈 키를 누른 후 바로 껐다가 켜도 잠금화면이 바로 뜨게 된다.


요약하면

1. AndroidManifest.xml에 STOP_APP_SWITCHES 권한 추가

2. 시스템 앱으로 동작해야 함 (APK파일을 /system/app/으로 복사)


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함