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 усложнить процесс получения разрешения, выводить свое содержимое поверх других окон, шаг оправданный. Согласитесь, лучше вручную разрешить нескольким приложениям, которым это действительно необходимо, выводить свою информацию поверх окон других приложений, чем скомпрометировать информацию своей учетной записи социальных сетей или системы интернет-банкинга.
© Антон Печеровый,
Публикации по теме:
15.09. [Новинки] Обновлено. Слухи: Анонс нового смартфона HTC состоится 29 сентября в Японии / MForum.ru
14.09. [Новинки] О смартфонах и не только #23: Новые iPhone, водные процедуры для Sony, китайская Siri и смартфоны с 6 Гб ОЗУ / MForum.ru
25.08. [Новинки] Слухи: Планшет Google Nexus 8 замечен в GeekBench / MForum.ru
17.08. [ПО] Анонсы: Android M официально будет называться Android 6.0 Marshmallow / MForum.ru
23.08. [Новинки] Анонсы: POCO Pad 5G появился в Индии / MForum.ru
23.08. [Новинки] Анонсы: Vivo Y03t официально представлен на Филлипинах / MForum.ru
22.08. [Новинки] Анонсы: Tecno Spark Go 1 получил экран 120 Гц и чипсет Unsioc / MForum.ru
22.08. [Новинки] Xiaomi представила планшет Redmi Pad SE 8.7 на мировом рынке. Изначально новинка появилась в Индии. / MForum.ru
21.08. [Новинки] Анонсы: iQOO Z9s и iQOO Z9s Pro представлены официально / MForum.ru
21.08. [Новинки] Анонсы: Представлены OnePlus Buds Pro 3 с двумя ЦАП, адаптивным ANC и настройкой Dynaudio / MForum.ru
21.08. [Новинки] Слухи: Snapdragon 7s Gen 3 получит гораздо более быстрые GPU и CPU / MForum.ru
20.08. [Новинки] Слухи: Раскрыты подробности о Snapdragon 8 Gen 4 / MForum.ru
20.08. [Новинки] Анонсы: Tecno Phantom V Fold 2, V Flip 2 доступны для предварительного заказа перед анонсом / MForum.ru
19.08. [Новинки] Анонсы: Xiaomi Smart Band 9 теперь доступен в Европе / MForum.ru
16.08. [Новинки] Анонсы: Доступный смартфон Redmi A3x появился в Индии / MForum.ru
16.08. [Новинки] Анонсы: Представлены Moto Watch 120 с металлическим корпусом и AMOLED-дисплеем / MForum.ru
15.08. [Новинки] Анонсы: Oppo A80 5G появился в Нидерландах / MForum.ru
14.08. [Новинки] Анонсы: Pixel Buds Pro 2 на новом чипе Tensor A1 от Google представлены официально / MForum.ru
14.08. [Новинки] Анонсы: Google Pixel Watch 3 с Bluetooth LE Audio представлены официально / MForum.ru
14.08. [Новинки] Анонсы: Официально представлены компактный Google Pixel 9 Pro и Pixel 9 Pro XL / MForum.ru
14.08. [Новинки] Анонсы: Представлен тонкий Pixel 9 Pro Fold с обновленным шарниром / MForum.ru
14.08. [Новинки] Анонсы: Google Pixel 9 с мощным процессором и обновленной камерой представлен официально / MForum.ru
13.08. [Новинки] Анонсы: Realme C63 5G на базе Dimensity 6300 представлен официально / MForum.ru
13.08. [Новинки] Анонсы: официально представлен Infinix Xpad оснащенный 11-дюймовым дисплеем и LTE / MForum.ru