TYPE_SYSTEM_OVERLAY в ICS
В Honeycomb мне удалось создать системный оверлей с помощью TYPE_SYSTEM_OVERLAY и получать касания с помощью FLAG_WATCH_OUTSIDE_TOUCH.
Теперь ICS что-то изменило. Я все еще могу создать системный оверлей, но не могу прикоснуться.
Теперь я могу создать то же самое с TYPE_SYSTEM_ALERT и получать прикосновения, но он просто ловит прикосновения, а не передает их, как в Honeycomb.
Есть идеи?
С уважением
2 ответа
Все, что вы описываете, правда. Предположительно следует усилить безопасность, поскольку прежнее поведение было источником атак со стороны кражи. Я недавно написал в блоге об этом изменении.
Есть идеи?
Не используйте ни один из них.
Чтобы создать вид наложения, при настройке LayoutParamsНЕ устанавливайте тип TYPE_SYSTEM_OVERLAY
,
Вместо этого установите его TYPE_PHONE
,
Используйте следующие флаги:
FLAG_NOT_TOUCH_MODAL
FLAG_WATCH_OUTSIDE_TOUCH
FLAG_NOT_TOUCH_MODAL
<< Я нашел это очень важным. Без этого основное внимание уделяется наложению, а нажатие программных клавиш (домой, меню и т. Д.) Не передается в упражнении ниже.