MForum.ru
16.09.2015,
На персональных компьютерах с Windows или Lunux «плавающие» окна приложений являются одним из традиционных элементов интерфейса. Более того, далеко не каждую программу можно переключить в полноэкранный режим. Обычно такая функция доступна браузеров и различных медиаплееров. В мобильных операционных системах ситуация противоположная – запущенная программа, как правило, занимала весь экран, а «плавающие» окна были экзотикой.
В тоже время нельзя не признать, что на смартфонах с большими экранами или планшетах плавающие окна удобны. Одним из первых подобный функционал был реализован в флагманских смартфонах Samsung, где появилась возможность разместить рядом окна двух запущенных приложений. Впрочем, за другими разработчиками дело не стало и в Google Play стало появляться все больше приложений и виджетов, умеющих работать в плавающем окне. В целом эта функция довольно удобна, а в ряде ситуаций практически незаменима. Например, плавающие окна используются в пакете программ Tiny Apps, заметках Floating Notes 2, рисовалке Floating Draw, браузере OverSkreen и терминале AirTerm.
Более того, плавающие приложения даже стали называть одним из символов гибкости операционной системы Android в части адаптации под нужды конкретного пользователя. Ни одна другая операционная система для мобильных устройств не позволяет несистемным приложениям напрямую взаимодействовать с пользователем, выводя свое окно на передний план, поверх окон других приложений.
С одной стороны, это позволяет получить отличный пользовательский опыт в части подстройки приложения под потребности пользователя. И это прекрасно! В тоже время подобная гибкость может стать проблемой, если приложение плохо реализовано или его разработчики решили злоупотребить этой привилегией для вредоносных целей. Например, это может быть навязчивый показ рекламы или попытка принудить к покупке разблокировщика.
Однако с выходом Android 6.0 Marshmallow правила игры изменятся. Начиная с Developer Preview 3 приложениям, использующим API 23 (или новее), потребуется получить отдельное разрешение на право рисовать поверх других окон. Причем это будет сделано не через новый интерфейс системы разрешений с дружественными интерфейсом, а более сложным способом, через соответствующее подменю настроек устройства (как, например, при установке сторонней клавиатуры).
Возникает вполне резонный вопрос, зачем усложнять жизнь пользователю за счет более запутанного способа получения нужного разрешения? Причина проста – возможность вывода изображения поверх других приложений потенциально очень опасна. Например, создатели фишинговых приложений могут отображать клонированный экран ввода учетных данных поверх оригинального. И речь здесь может идти не только об аккаунтах социальных сетей, но и банковских клиентах. Например, в России мишенью создателей вредоносных программ вполне может стать Сбербанк или другие крупные банки, на деньги вкладчиков которых за последнее время создатели вирусов для мобильных устройств произвели ни одно покушение.
Что все это значит для пользователей? В один клик разрешить приложению рисовать поверх содержимого других окон не получится. В этом вопросе не будет никаких стандартных диалогов, в которых «Далее» или «Ок» можно нажать даже не читая, что именно просит предоставить программа. Чтобы дать приложению возможность вывода всплывающих окон пользователь должен выполнить ряд дополнительных шагов. Таким образом, исключается какой-либо автоматизм при предоставлении подобных разрешений. На мой взгляд, хоть подобный шаг и добавляет лишних действий, но он вполне оправдан.
Более того, вполне возможно, что разработчики снабдят свое приложение подробной инструкцией, как именно включить необходимое разрешение. Однако, в отличие от бездумного нажатия «Да» / «Продолжить», необходимость следовать некой инструкции ведущий в дебри настроек (для неопытного пользователя) заставляет задуматься. И для вредоносной программы это может вполне стать стоп-фактором.
К сожалению, на API версии 22 (и ниже) разрешение предоставляется автоматически. Скорее всего, в Google на этот шаг пошли для обеспечения совместимости с более ранними приложениями. Впрочем, через соответствующее подменю, для любого из установленных приложений это разрешение можно отозвать. Но в любом случае, решение со стороны Google усложнить процесс получения разрешения, выводить свое содержимое поверх других окон, шаг оправданный. Согласитесь, лучше вручную разрешить нескольким приложениям, которым это действительно необходимо, выводить свою информацию поверх окон других приложений, чем скомпрометировать информацию своей учетной записи социальных сетей или системы интернет-банкинга.
© Антон Печеровый, , по информации androidpolice.com
Публикации по теме:
17.04. Motorola Edge 50 Fusion – основная камера 50 Мп и аккумулятор емкостью 5000 мАч
08.05. Опубликованы данные о распространении версий ОС Android
24.04. Vivo Y53 – смартфон начального уровня
05.04. Представлен защищенный смартфон Archos Saphir 50X
13.10. OPPO F3 Lite (A57) представлен официально
03.10. В сентябре доля Android 8.0 Oreo составила 0,2%
28.09. LG K7i – смартфон с отпугивателем москитов
03.04. Honor Play 80 Pro – 7000 мАч и IP65, но экран 60 Гц и Android 15
03.04. Первые тизеры раскрывают ультратонкий дизайн Honor 600 Series
03.04. Honor X80i – первый смартфон на Dimensity 6500 и АКБ 7000 мАч
02.04. Oppo K15 Pro – киберпанк-дизайн, активное охлаждение и батарея 7500 мАч
02.04. Рендеры Sony Xperia 1 VIII показывают квадратный блок камер и вырез в экране
02.04. Vivo Pad 6 Pro – 13.2-дюймовый 4K-экран, АКБ 13 000 мАч и Snapdragon 8 Elite Gen 5
01.04. Lava Bold N2 Pro – меньше и дешевле, чем обычный Bold N2
01.04. Утечка раскрывает характеристики HMD Crest 2 Pro
31.03. Vivo X300 Ultra – 200 МП телевик с гиростабилизацией и почти дюймовый 35-мм модуль
31.03. Vivo X300s – 200 МП основная камера, АКБ 7100 мАч и цена от 720 долларов
31.03. Бюджетный Realme Narzo 100 Lite получит 3 конфигурации памяти
30.03. Все iPhone 18 получат уменьшенный Dynamic Island, но рамки останутся прежними
30.03. OnePlus Nord CE6 Lite получит Dimensity 6300, батарея 7000 мАч и цену до 23 000 рупий
27.03. Представлены iQOO Z11 и Z11x – 9050 мАч, 165 Гц и IP69 за 290 долларов
27.03. iPad (2026) получит чисет A18, 8 ГБ RAM и тот же дизайн
26.03. Vivo X300s – 200 МП, перископ, батарея 7100 мАч и защита IP69
26.03. Представлены Samsung Galaxy A57 и A37 с IP68, Exynos 1680 и прежними камерами
25.03. OnePlus 15T – компактный флагман с батареей 7500 мАч, защитой IP69K и экраном 165 Гц
25.03. Samsung Galaxy Z Fold8 – 200 МП, 8-дюймовый экран и батарея 5000 мАч
25.03. Первый тизер Tecno Spark 50 5G раскрывает дизайн новинки