나는 백그라운드에서 지속적으로 투명한 오버레이 작업을 만들기 위해 거의 모든 것을 시도했습니다. 그것이해야 할 일은 단지 거기에있을 뿐이며 어떤 클릭 이벤트도 포착해서는 안되며 모든 언더 레이 활동을 통해 전달해야합니다. 많은 게시물에 해결책이있는 것으로 보입니다. 그러나 나를 위해, 그들 중 누구도 지금까지 일한 적이 없다.투명한 배경 화면이 끊임없이 계속됩니다.
이getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
getWindow().addFlags(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
여전히 화면은 터치 이벤트를 통해 수 있도록 나타납니다 활동 필자의에서 onCreate에서 (참조 How to create an overlay canvas with propagation of touch events to the home screen?
Popup over incoming-call screen )
는 그것이 작동되도록하려면 다음의 각 조합을 시도 클릭 이벤트는 발생하지 않습니다. 예를 들어, 기본 홈 화면에서 Im을 실행하고 내 앱을 실행하면 어떤 앱도 열 수 없지만 앱을 드래그하여 이상하게 선택할 수 있습니다.
도와주세요. 지금까지 해결책을 찾지 못했습니다.
나는 이것을하는 Super Dimmer의 창시자입니다. 사용자의 화면에 그늘을 오버레이하기 위해 서비스를 사용하고 있습니다. 사용자가 화면과 상호 작용할 필요가없는 대신 모든 계산 등이 사용자에게 투명하게 수행되면 대신 서비스를 사용하십시오. – dberm22
음, 전화가 왔을 때 이미지를 사용자에게 보여주고 싶습니다.하지만 사용자가 수신 또는 발신 전화 대화 상자와 상호 작용할 수 있어야하기 때문에이 이미지는 클릭 이벤트를 차단해서는 안됩니다. – user2424833