안녕하세요.
User가 원하는 때 원하는 Icon을 화면에 항상 띄워놓고 싶습니다.
service에서 아래 코드 활용하여 구현은 했습니다.
mParams = new WindowManager.LayoutParams(
300,
300,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
mParams.gravity = Gravity.RIGHT | Gravity.BOTTOM;
mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
mWindowManager.addView(mPopupView, mParams);
화면 구석에 이쁘게 아이콘이 나오는데 문제는 저놈이 Keyguard 위로 올라오네요.
그렇게 까지는 하고 싶지 않은데요.. ㅜㅜ
그래서 Type을 바꿔봤습니다(낮은 level로...)
그랬더니 다른 녀석들은 touch event를 먹네요.
flag를 not_focusable, watch_outside_touch 등등 줘봐도 touch event를 먹더라구요.
TYPE_SYSTEM_OVERLAY 처럼 touch event는 먹지 않고
level이 낮은 다른 type처럼 Keyguard에는 안나오게 하는 방법 없을 까요?
고수분들 답변 기다리겠습니다.