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 – смартфон с отпугивателем москитов
17.04. OnePlus Nord CE 6 Lite – Dimensity 7400, 7000 мАч, а AMOLED заменили на LCD
17.04. Oppo Reno16 Pro получит камеру 200 МП, перископ, Dimensity 9500s и батарея 7000+ мАч
16.04. Vivo T5 Pro – 9020 мАч, 90 Вт, IP69 и Snapdragon 7s Gen 4 от 29 999 рупий
16.04. Oppo F33 и F33 Pro – ребрендинг с AMOLED, 7000 мАч и IP69K
16.04. Poco C81 Pro получи 6.9" дислеей 120 Гц, АКБ 6000 мАч и Unisoc T7250
15.04. Motorola Razr 70 Ultra получит Snapdragon 8 Elite и батарею на 6% больше
15.04. Tecno Spark 50 4G – Helio G81, 7000 мАч и связь без сети за 1.5 км
15.04. T1 Phone от Trump Mobile – $499 за AMOLED 120 Гц и Snapdragon 7
14.04. Redmi A7 Pro 5G – HyperOS 3, Unisoc T8300 и 6300 мАч за 11 499 рупий
14.04. Oppo Pad Mini с 8.8-дюймовым OLED-экраном 144 Гц и Snapdragon 8 Gen 5 представят 21 апреля
14.04. Rollme G9 – умные часы с офлайн-картами, двухдиапазонным GNSS и весом 32 грамма
13.04. Realme Narzo 100 Lite 5G – 7000 мАч "Titan Battery", 144 Гц и Dimensity 6300 за 13 000 рупий
13.04. CMF Phone 3 Pro получит Snapdragon 7s Gen 4 и металлическую рамку
13.04. Анонс Huawei Pura 90 Pro ожидается 20 апреля
10.04. Realme C100 4G – в000 мАч, IP69K и Helio G92 Max за 292 доллара
10.04. AI+ Nova 2 и Nova 2 Ultra – два подхода к бюджетному сегменту в Индии
10.04. Oppo A6s Pro – OLED, 7000 мАч, 80 Вт и Dimensity 6300
09.04. Moto Pad 2026 – 2.5K-экран, 5G и четыре динамика за 250 долларов
09.04. Motorola Moto G Stylus (2026) – стилус с наклоном, защита IP69 и AMOLED за 500 долларов
08.04. Oppo A6k с АКБ 7000 мАч, экраном 120 Гц и Dimensity 6300 оценен 290 долларов