Permission control что это за программа на андроид

Обновлено: 19.09.2024

В Android можно защитить свои данные и ограничить доступ к различным опасным функциям, если правильно настроить разрешения приложений. Рассказываем, как это сделать.

24 сентября 2018

Вариантов Android сейчас, наверное, тысячи, потому что каждый производитель изменяет систему под себя — и далеко не всегда эти модификации идут на пользу. Но в основе Android — хорошо продуманная операционная система, которая от версии к версии становится все более безопасной.

Вернее, она становится все более безопасной, если пользователь все делает правильно. Для того чтобы наложить лапу на какие-нибудь интересные данные, которые хранятся в общей части памяти, или заполучить доступ к той или иной функции, использование которой может быть небезопасно, приложению для Android всегда нужно получить разрешение пользователя, причем в явном виде.

Мы уже рассказывали о том, как эти разрешения правильно настроить в Android 6, а теперь поговорим о более свежей версии операционной системы — Android 8. Настроек в ней стало гораздо больше, что одновременно и хорошо, и плохо. С одной стороны, есть больше возможностей для того, чтобы сделать систему безопаснее; с другой — в настройках стало сложнее разобраться, и на них приходится тратить больше времени. Да и находятся эти настройки теперь в разных местах, в том числе довольно неочевидных. Но c помощью данного путеводителя мы попробуем облегчить вам задачу.

Прежде чем приложение получит какое-либо разрешение, оно должно в явном виде попросить его у пользователя. Вы решаете, к чему приложения получают доступ

Выдача приложению любого из этих разрешений означает, что оно получит возможность заполучить информацию данного типа и загрузить куда-нибудь в облако, не спрашивая больше вашего явного согласия на то, что именно оно собирается делать с вашими данными.

Поэтому мы рекомендуем как следует подумать, перед тем как выдавать приложению то или иное разрешение. Особенно в том случае, если оно точно не требуется для работы этого приложения. Например, игре в большинстве случаев совершенно незачем иметь доступ к вашим контактам и камере, мессенджер может как-нибудь обойтись без данных о вашем местоположении, а какой-нибудь модный фильтр для камеры определенно переживет без доступа к истории звонков.

В целом решать вам, но чем меньше разрешений вы выдадите приложениям, тем целее будут ваши данные.

Где настроить: Настройки -> Приложения и уведомления -> Разрешения приложений -> SMS

Календарь (Calendar)

Что это: Разрешение на просмотр событий в календаре, удаление и изменение уже имеющихся, а также добавление новых событий.

Чем опасно: Доступ к электронному ежедневнику может позволить узнать, чем вы занимались в прошлом, чем будете заниматься сегодня и в будущем. Для шпионского приложения это очень полезное разрешение.

Где настроить: Настройки -> Приложения и уведомления -> Разрешения приложений -> Календарь

Камера (Camera)

Что это: Разрешение на доступ к камере, чтобы приложение могло делать фотографии и записывать видео.

Чем опасно: Однажды получив это разрешение, приложение сможет в любой момент сделать фото или записать видео, не предупреждая вас об этом. Такой компромат на вас злоумышленники могут использовать с самыми разными целями.

Где настроить: Настройки -> Приложения и уведомления -> Разрешения приложений -> Камера

Контакты (Contacts)

Что это: Разрешение на доступ к вашей адресной книге — чтение, изменение имеющихся и добавление контактов, а также доступ к списку аккаунтов, которые вы зарегистрировали в данном смартфоне.

Где настроить: Настройки -> Приложения и уведомления -> Разрешения приложений -> Контакты

Местоположение (Location)

Что это: Доступ к вашему местоположению — как примерному (на основе данных о базовых станциях мобильной сети и точках доступа Wi-Fi), так и более точному, на основе данных GPS и ГЛОНАСС.

Чем опасно: Позволяет приложению шпионить за всеми вашими перемещениями в пространстве.

Помимо всего прочего, если наблюдать за передвижением смартфона достаточно долго, то очень легко вычислить, где живет его владелец (длительное пребывание ночью), где он работает (длительное пребывание днем) и так далее.

Еще один довод в пользу того, чтобы не давать это разрешение кому попало: геолокация очень быстро сажает батарейку. Так что чем меньше приложений пользуется определением местоположения — тем дольше будет жить смартфон от зарядки до зарядки.

Где настроить: Настройки -> Приложения и уведомления -> Разрешения приложений -> Местоположение

Микрофон (Microphone)

Что это: Разрешение на запись звука с встроенных в смартфон микрофонов.

Чем опасно: С этим разрешением приложение сможет записывать все, что происходит рядом со смартфоном. Все ваши звонки, разговоры не по телефону — вообще все.

Где настроить: Настройки -> Приложения и уведомления -> Разрешения приложений -> Микрофон

Нательные датчики (Body sensors)

Что это: Доступ к данным от датчиков состояния здоровья, таким как пульсомер.

Чем опасно: Разрешает приложению следить за тем, что происходит с вашим телом, используя информацию от датчиков соответствующей категории — если они у вас есть, скажем, в фитнес-браслете и вы ими пользуетесь (встроенные в смартфон датчики движения не входят в эту категорию). Эти данные могут использовать различные компании из индустрии здравоохранения — например, чтобы оценивать стоимость вашей страховки.

Где настроить: Настройки -> Приложения и уведомления -> Разрешения приложений -> Нательные датчики

Память (Storage)

Что это: Чтение и запись файлов в общую память смартфона. В Android у каждого приложения есть свой собственный кусочек памяти, куда имеет доступ только оно, а ко всему остальному объему имеют доступ все приложения, которые получили данное разрешение.

Также это разрешение опасно тем, что многие приложения используют общую область памяти для загрузки и временного хранения своих дополнительных модулей и обновлений, и вредоносное приложение может в этот момент их заразить. Эта атака называется Man-in-the-Disk.

Где настроить: Настройки -> Приложения и уведомления -> Разрешения приложений -> Память

Телефон (Phone)

Что это: Разрешение на чтение и изменение истории звонков; считывание вашего телефонного номера, данных сотовой сети и статуса исходящих звонков; добавление голосовой почты; доступ к IP-телефонии; просмотр номера, на который вы в данный момент звоните, с возможностью завершить звонок или переадресовать его на другой номер; ну и, конечно же, исходящие звонки на любые номера.

Где настроить: Настройки -> Приложения и уведомления -> Разрешения приложений -> Телефон

В предыдущем пункте мы разобрались с разрешениями приложений на доступ к персональным данным. Но есть еще один список разрешений — на доступ к различным функциям Android. Эти разрешения, если они попадут в руки вредоносному приложению, позволят ему сделать много чего нехорошего, поэтому их также следует давать крайне осторожно.

Тем более, что эти разрешения спрятаны поглубже в настройках, ну и далеко не всегда очевидно, как именно они могут быть использованы, — для понимания возможных последствий нужно неплохо представлять, как устроен Android и как работают зловреды. Но сейчас мы вам все это объясним как можно более коротко и доступно.

Экономия заряда батареи (Battery optimization)

Чем опасно: Например, шпионским вредоносным приложениям также может очень хотеться работать в фоновом режиме, чтобы эффективно следить за перемещением пользователя. Поэтому стоит внимательно относиться к данному разрешению и периодически проверять список приложений, которые могут беспрепятственно работать в фоне.

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Оптимизация батареи -> Не экономят заряд.

Приложения администратора устройства (Device admin apps)

Что это: Это разрешение дает приложению право пользоваться набором функций удаленного администрирования. Изначально этот набор функций был разработан для того, чтобы IT-службы в организациях могли правильно настраивать смартфоны сотрудников, не бегая за каждым из них, а делая все удаленно, со своего рабочего места.

Чем опасно: Во-первых, это разрешение позволяет приложению поменять на смартфоне пароль, принудительно заблокировать экран, отключить камеру или даже удалить все данные. Во-вторых, приложение, обладающее данным разрешением, довольно сложно удалить — и зловреды очень любят это использовать, чтобы прочно закрепиться в системе. Поэтому выдавать это разрешение стоит только в том случае, если вы на 100% уверены в благих намерениях приложения.

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Приложения администратора устройства

Поверх других приложений (Display over other apps)

Что это: Это разрешение позволяет приложению выводить изображение поверх других приложений.

Чем опасно: Вредоносные приложения могут скрывать от пользователя какие-то важные предупреждения, а также подсовывать ему фальшивые формы ввода номера кредитной карты или пароля поверх окон легитимных приложений. Это разрешение — один из двух ключевых механизмов, используемых атакой под названием Cloak & Dagger.

Также это разрешение часто используют AdWare, чтобы выводить рекламные баннеры поверх всего остального, и вымогатели-блокировщики — они полностью перекрывают экран своим окном и требуют выкуп за то, чтобы это окно убрать.

В общем, в подавляющем большинстве случаев лучше это разрешение приложениям не выдавать.

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Поверх других приложений

Вспомогательные VR-сервисы (VR helper service)

Что это: Это разрешение предоставляет приложению доступ к приложениям и устройствам виртуальной реальности, а также возможность работать в фоновом режиме, пока пользователь использует приложения виртуальной реальности.

Чем опасно: Не считая возможности работы в фоне, которая может быть использована создателями вредоносных приложений, это разрешение выглядит не слишком опасно. Но если приложение не имеет никакого отношения к виртуальной реальности, то на всякий случай лучше ему это разрешение не давать.

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Вспомогательные VR-сервисы

Изменение системных настроек (Modify system settings)

Чем опасно: Звучит угрожающе, но на самом это довольно безобидное разрешение: в настройках, которые это разрешение позволяет изменять, не осталось ничего по-настоящему опасного.

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Изменение системных настроек

Доступ к уведомлениям (Notification access)

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Доступ к уведомлениям

Картинка в картинке (Picture-in-picture)

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Картинка в картинке

Доступ к платным SMS (Premium SMS access)

Чем опасно: Существуют целые семейства зловредов, зарабатывающих тем, что они тайком подписывают пользователей на платные SMS-сервисы. Не очень понятно, насколько список номеров Google полон, но, вероятно, он защищает хотя бы от самых популярных троянов-подписчиков.

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Доступ к платным SMS

Неограниченный мобильный Интернет (Unrestricted data access)

Что это: Для экономии мобильного трафика и заряда батареи Android позволяет настроить, какие приложения могут использовать передачу данных в фоновом режиме (это настраивается для каждого приложения индивидуально — для этой настройки не существует полного списка, где можно было бы быстро расставить галочки).

Если данное разрешение запрашивает какое-то приложение, которое не имеет никакого отношения к общению, то это хороший повод задуматься, а не пытается ли оно за вами шпионить.

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Неограниченный мобильный Интернет

Доступ к истории использования (Usage access)

Что это: Это разрешение позволяет приложениям получить доступ к метаданным вашего устройства. Например, к тому, какими приложениями вы пользуетесь и как часто, какой у вас оператор, какой язык выставлен в настройках и так далее.

Чем опасно: Никаких личных данных как таковых с помощью этого разрешения приложение получить не сможет. Однако по косвенным данным об использовании смартфона можно составить в достаточной степени уникальный цифровой портрет пользователя, который может пригодиться для слежки.

Также это разрешение используют банковские зловреды, чтобы отслеживать, какое приложение в данный момент запущено и показывать фишинговое окно, созданное для имитации конкретного приложения (например, банковского).

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Доступ к истории использования

Установка неизвестных приложений (Install unknown apps)

Что это: По сути, это примерно то же самое, что в прежних версиях Android называлось разрешением на установку из неизвестных источников. Но если раньше это была всего одна галочка, то в Android 8 настройки более сложные. Теперь отдельные приложения могут запрашивать право на установку других приложений — и каждому из них можно запретить это или разрешить. Например, разрешить делать это только файловому менеджеру (впрочем, не стоит).

Чем опасно: Даже в Google Play периодически пробираются вредоносные приложения, что уж говорить о программах, загруженных не пойми откуда. Рекомендуем запретить установку неизвестных приложений всем программам в вашем смартфоне. Особенно браузеру — это убережет от автоматической загрузки и установки зловредов со взломанных сайтов.

Когда вам все-таки нужно что-то установить не из официального магазина (дважды подумав, стоит ли оно того), не забудьте вернуть запрет сразу после того, как приложение установлено. И всегда проверяйте неизвестные приложения антивирусом — например, Kaspersky Internet Security для Android можно установить бесплатно.

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Специальный доступ -> Установка неизвестных приложений

Разрешения, которые настраиваются отдельно

Специальные возможности (Accessibility)

Чем опасно: Этот набор возможностей позволяет одному приложению получить доступ к тому, что происходит в других приложениях — тем самым нарушая принцип изоляции, принятый в Android.

Где настроить: Настройки -> Спец. возможности.

Приложения по умолчанию (Default apps)

Что это: Еще один список разрешений, вынесенный в отдельный пункт настроек и заслуживающий повышенного внимания. В Android есть набор приложений, которые используются по умолчанию для ключевых функций смартфона:

Для того чтобы стать одним из приложений по умолчанию, программа должна спросить у пользователя разрешение.

Где настроить: Настройки -> Приложения и уведомления -> Расширенные настройки -> Приложения по умолчанию.

Права суперпользователя (Root privileges)

Чем опасно: Ту же самую суперсилу root-привилегий получает не только пользователь, но и установленные на смартфоне приложения. И они могут воспользоваться открывшимися возможностями для кражи любых имеющихся в смартфоне данных, тотальной слежки и прочей вредоносной деятельности.

Если все перечисленные выше разрешения позволяют получать доступ к данным и функциям, доступ к которым так или иначе предусмотрен операционной системой Android, то root-привилегии дают возможность получить доступ к тем данным и функциям, к которым вообще-то никогда и не планировалось никого пускать. И это уж не говоря о том, что приложение, имеющее root, само может настроить себе все разрешения.

Где настроить: Получение прав суперпользователя не является штатной функцией Android, поэтому настроить это средствами операционной системы нельзя никак. Более того, даже проверить, получен ли на вашем смартфоне root-доступ или нет, также штатными средствами ОС невозможно. Можно использовать для этого одно из приложений, специально созданных для проверки root.

Как настроить разрешения приложений

Есть несколько способов настроить разрешения приложений в Android. Во-первых, приложения запрашивают разрешения в тот момент, когда собираются ими воспользоваться, — и можно им это разрешить или запретить. В Android 8 такие запросы выглядят примерно так:

Во-вторых, можно воспользоваться группами разрешений, чтобы посмотреть полные списки тех приложений, которые запросили (или могут запросить в будущем) или уже получили определенное разрешение. Соответственно, если при проверке этого списка вам что-то среди уже выданных разрешений покажется подозрительным, то можно эти разрешения отозвать. Где именно это делать для каждого из разрешений — мы рассказывали выше.

В-третьих, есть возможность поступить иначе, и для каждого из установленных приложений посмотреть, какие разрешения у него уже есть и какие оно может когда-нибудь запросить. Опять же вы можете отозвать какие-либо разрешения у приложения, если вам что-то не нравится. Однако будьте готовы к тому, что в приложении что-то может перестать работать.

Кстати, в настройках Android 8 есть удобнейшая система поиска, по которой можно найти любой пункт меню настроек, если знать, как он называется — включая настройки для каждого из приложений, которые можно найти по названиям этих приложений.

Заключение

Как видите, Android 8 позволяет гибко и удобно оградить всю вашу ценную информацию и доступ к наиболее опасным функциям операционной системы от слишком жадных до чужих данных или откровенно вредоносных приложений. Не пренебрегайте этой возможностью, всегда думайте о последствиях выдачи тех или иных разрешений — и смело отказывайте в доступе, если что-то выглядит подозрительно.

Во многих случаях приложения запрашивают те разрешения, которые в реальности совершенно не требуются им для нормальной работы. И если им отказать, то ничего страшного не случится.

— Мне нужны твоя одежда, ботинки и мотоцикл!
— Нет.
— Ну ладно, я тогда пойду.

Операционная система Андроид является сложной структурой, за безопасность которой отвечает специальная система разрешений (permissions). Разработчики все выстроили так, что доступ к различным опциям имеют отдельные приложения, а функции контроля доступны пользователю. Список прав определен специалистами Google и закреплен в протоколах. В настоящий момент разработана Permission Control – специальная программа на Андроид. Некоторые считают ее лишней и энергозатратной, поэтому ищут вариант, как отключить.

Что это


Permission Control – специальная служба Андроид, которая контролирует подлинность заявленных разрешений установленных на устройстве. Главная задача этого софта сводится к анализу имеющейся информации с целью запретить приложениям возможность получения стороннего доступа, если об этом не было данных в момент установки.

Permission Control можно регулярно увидеть в списке всплывающих уведомлений. Если владелец гаджета обнаруживает такую информацию, значит, программа активна и выполняет свои функции. Таким образом, софт реализует задачу блокировки получения незаявленных прав другим приложением.

Как отключить


В случае необходимости Permission Control допускается временно деактивировать. Пользователь может сделать все самостоятельно с помощью стандартного меню настроек Андроид.

Владелец гаджета должен перейти в раздел «Настройки». Следующий шаг – вкладка «Безопасность», где требуется перейти в раздел «Права приложений» или «Разрешения приложений» (в зависимости от версии формулировка может отличаться!). Последнее действие – «Отключить».

Хотя владелец гаджета вправе приостановить работу службы разрешений Андроид, специалисты все же не рекомендуют этого делать. Permission Control – важная составляющая работы операционной системы. Она противостоит неправомерным действиям приложений. В ее силах не дать использовать память устройства или осуществлять какие-либо звонки, если это не предусмотрено изначальной заявкой на выполнение указанных функций.


Работа системы – слаженный механизм, каждый шаг которого подчиняется строгим регламентам. Permission Control стоит на страже несанкционированных действий и позволяет приложениям выполнять сторонние операции, которые ему не свойственны или не заявлены при установке. В ряде случаев, когда компонент permissions негативно влияет на функционал гаджета – увеличенный расход батареи, ошибки, зависания, его можно отключить.

Мы все слышали истории о вредоносных приложениях, которые крадут ценные данные и отправляют их злоумышленникам. Специалисты утверждают, что перед установкой каждого приложения необходимо тщательно ознакомиться с его разрешениями. Но что они означают и как их правильно настроить?

Что такое App Permissions на Android и как его удалить

Зачем необходим App Permissions на Android и как его удалить.

Что это такое

App Permissions – это и есть разрешения. Когда вы устанавливаете софт из Google Play на устройстве под управлением Android 6.0 или выше, вы контролируете, к каким возможностям или информации может обращаться программа – так называемые разрешения. Например, утилите может потребоваться разрешение на просмотр контактов или местоположения вашего устройства. Вы можете контролировать, к каким разрешениям ПО сможет получить доступ после установки на устройстве. И если «Автоматический запуск программы при загрузке» говорит само за себя, то разобраться в остальных может быть не так просто. Проблема в том, что программы могут иметь веские основания для их использования, потому что одним разрешением может быть охвачено несколько разных вещей. Рассмотрим самые распространённые примеры менеджмента разрешений более подробно.

Совершать и принимать вызовы

Это означает, что ПО может автоматически сделать звонок. Каждая утилита может самостоятельно запускать номеронабиратель и даже вводить номер, но, если это разрешение не предоставлено, пользователю нужно нажать кнопку вызова. Такие вещи, как сторонний номеронабиратель, Google Voice или всё, что связано с вашей телефонной «звонилкой», должно иметь это разрешение. Если ПО его запрашивает, но не должно иметь ничего общего с совершением звонков, отклоните запрос и выясните причину запроса у разработчиков через отзывы на Google Play. Даже если причины использования того или иного разрешения вам не понятны, они могут требоваться для стабильной работы программ.

Ассистент Google Voice

Получение и отправка SMS или MMS

Подписные SMS-сервисы – лёгкий способ для мошенника заработать деньги, так что за ними нужно следить. Доступ понадобится SMS-приложениям (что очевидно), а также утилитам, которые позволяют редактировать или делать снимки, а также делиться ими. Программы, которые могут совместно использовать любые медиа, скорее всего будут иметь эту настройку. Если софт не может никому ничего отправлять, следует проверить, зачем это нужно разработчикам.

Чтение/запись контактов

Чтение/запись событий календаря

Здесь всё довольно просто. Настройка позволяет делать только одно – автоматически читать календарь. Некоторые утилиты должны иметь доступ к календарю. Это программы, которые могут напоминать о приёме лекарств или автоматически сообщать о предстоящей поездке, считывая данные из календаря. Если программа каким-либо образом связана с планированием, то использование такого доступа вполне оправдано. Если это не так, перед установкой выясните, зачем приложению нужен доступ к календарю. Запись событий календаря является обычным делом. Если неясно, зачем программе нужны эти настройки, описание в магазине Play должно рассказать вам больше. Если вы все ещё не уверены, спросите разработчика.

Чтение/запись событий календаря

Phone Status And Identity

Это наиболее распространённое и наименее понятное разрешение из всех. Вы должны понимать, что оно распространяется на две разные вещи, которые не следует путать. Есть много веских причин, чтобы узнать состояние вашего телефона. И игра является отличным примером. Вы можете заниматься своим делом и играть в игру, когда внезапно зазвонит ваш телефон. Игра должна вернуться на главный экран и позволить уведомлению о входящем звонке появиться сверху остальных окон. После этого вызов полностью берёт управление телефоном на себя, но игра должна об этом знать/ Это необходимо для того, чтобы продолжить работу в фоновом режиме, пока вы не закончите разговор.

Важно знать, какой идентификатор запрашивает программа. Каждый телефон имеет идентификатор устройства, который отличается от любого другого, и его можно раскрыть, не передавая никакой личной информации. Когда вы видите, сколько людей используют определённую версию Android на графике от Google, они используют этот идентификатор устройства, чтобы помочь получить эти цифры. Когда вы заходите в Google Play и скачиваете программу, вас подсчитывают, и при этом только один раз. Идентификатор смартфона также является лучшим способом для синхронизации облачных данных и настроек ПО со смартфоном. Разрешение указывает только на то, какой у вас телефон и какое на нём программное обеспечение, поэтому ваши данные не будут доступны.

Разрешение также позволяет прочитать другой уникальный идентификатор – IMEI. Номер IMEI – это то, как телефонная компания подключает телефон – ваш адрес, ваше имя и всё остальное, что вам нужно будет предоставить, чтобы купить телефон, который сможет доказать, кто вы. Эти данные трудно получить – между ними и любыми данными вашей учётной записи есть минимум три разных защищённых и зашифрованных сервера базы данных, но получить доступ к ним не невозможно. Поскольку у вас нет возможности узнать, какой идентификатор требует приложение, выберите «Нет», если не знаете, почему разработчики этого хотят и что они с ним делают.

Phone Status And Identity

GPS и сетевое местоположение

Если приложение должно знать, где вы находитесь, оно должно запросить ваше местоположение. Есть два вида местоположения – неточное и точное. Первый вариант подходит для большинства рядовых ситуаций, но иногда требует точное местоположение. Потребность в вашем точном местоположении может быть определена простым запросом. Например, когда приложение должно знать, что находится в радиусе 50 м. Здесь необходимо точное местоположение. Точное местоположение необходимо и программам, которые, например, показывают, где находятся супермаркеты с оборудованным для инвалидов входом или лифтами. А вот простые программы для совершения покупок не требуют точного местоположения, в отличие от навигационных карт.

Изменять/Удалять содержимое SD-карты

Это разрешение, которое позволяет приложению читать или записывать данные на внешнюю память смартфона. Необходимо, чтобы дать приложению возможность свободно просматривать данные, изменять их, удалять и добавлять дополнительную информацию данные в любое место на SD-карте. Сбивает с толку тот факт, что под SD-картой подразумевается не только флешка. В файловой системе Android память телефона также называется SD-картой. Google многое сделал, чтобы сделать это разрешение безвредным. В каждой версии они уточняют, как приложение может получить доступ только к той информации, которая ему нужна. Но все ещё есть пользователи, использующие старые версии программ и ОС. Если вы один из них, убедитесь, что вы доверяете приложению, прежде чем устанавливать его. Любое приложение, написанное для API уровня 4 (Android 1.6 Donut) или ниже, получает это разрешение по умолчанию. Таких приложений не так много. Какой вред это может принести, зависит от того, какие данные хранятся в памяти вашего телефона. Телефоны под управлением Android 7 Nougat и приложения, созданные для телефонов под управлением Android 7, используют доступ к каталогу в заданной области, что гораздо удобнее и безопаснее.

Android 7 Nougat

Полный доступ к сети

Это разрешение означает именно то, что оно говорит. Приложение хочет иметь возможность отправлять запросы и получать ответ через сеть (Wi-Fi или подключение для передачи данных по мобильной сети). Помимо приложений, которые используют Интернет для чего-то очевидного, в них нуждаются в этом приложения с рекламой. Разрешение довольно безвредное, но, когда речь заходит о вашей личной информации, оно может использовать данные без вашего ведома. Мы ненавидим платить за дополнительные данные так же, как и вы. Если вы найдёте приложение, которое должно работать в автономном режиме, но не работает, удалите его.

Как удалить App Permissions

Чтобы найти свои приложения и их разрешения на Android, откройте «Настройки», а затем нажмите «Приложения и уведомления», «Информация о приложении» и выберите интересующее вас приложение. Выберите пункт «Разрешения», чтобы просмотреть, какими из них обладает приложение. Вы можете отключить любое из них в любое время, передвинув переключатель рядом с этой записью. Другой вариант – просматривать по разрешению, а не по приложению. Откройте «Настройки» и перейдите в раздел «Приложения и уведомления», как и в предыдущем случае. Но на этот раз выберите «Разрешения приложения». Откроется список разрешений, который включает датчики, календарь, камеру, контакты, местоположение, микрофон, SMS, память, телефон и многое другое. Нажмите любую запись, чтобы увидеть, какие приложения могут получить доступ к этой функции. Здесь также с помощью переключателей можно убрать любые настройки. Прежде чем начинать отключать разрешения, помните, что для выполнения своей работы некоторые приложения полагаются на этот доступ. Например, если приложение может просматривать ваши контакты, оно использует их, чтобы помочь вам обмениваться контентом, файлами или приглашать друзей на мероприятия, а не собирать ваши данные для получения прибыли.

Список разрешений для приложения

Разрешения при загрузке софта

Когда вы загружаете программы из Play Store, некоторые из них перед установкой запрашивают разрешение на использование информации. При загрузке приложений, созданных для Android 6.0 и более поздних версий, вы можете предоставить или запретить разрешения непосредственно во время установки. Чтобы просмотреть разрешения той или иной утилиты перед установкой, сделайте следующее:

  1. Откройте приложение Play Store.
  2. Перейти на страницу сведений о приложении. Чтобы просмотреть разрешения перед установкой, пролистайте до раздела «Разработчик» и нажмите «Сведения о разрешениях».
  3. Нажмите «Установить».

Некоторые приложения будут установлены сразу. Вы можете разрешить или запретить отдельные запросы на разрешение до того, как приложение будет использовать данные такого типа. Для других программ в Google Play отображаются все группы разрешений, к которым она сможет получить доступ перед установкой. Эта информация может помочь вам решить, хотите ли вы установить её.

Сведения о разрешениях

Если приложение уже установлено

Для приложений, созданных для Android 6.0 и выше, просматривать или принимать изменения разрешений при каждом обновлении не нужно. Достаточно указать необходимые права при первом запуске программы. Если при обновлении приложению требуется доступ к новым группам разрешений или разрешениям в группе «Другие», вам будет предложено заново подтвердить решение, даже если вы настроили автоматические обновления. Если вы предпочитаете просматривать каждое обновление вручную, вы можете отключить автоматическое обновление, следуя приведённым ниже инструкциям:

Чтобы отключить автообновление для всех приложений:

Никогда не обновлять автоматически

Есть также много других, менее подозрительных разрешений. Приложение, которое делает снимки, должно контролировать ваше оборудование. Netflix должен держать ваш экран активным в течение всего времени, пока вы его не касаетесь. Виджет профиля звонков нуждается в доступе к вашим настройкам. Разобраться с разрешением, которое кажется неуместным, обычно помогает немного логики. Если нет, то читайте комментарии в Google Play и задавайте вопросы на форумах. Большинство приложений в Google Play не могут украсть ваши данные или ваши деньги. Помните, что большинство людей, пишущих приложения, просто хотят заработать немного денег или делают это ради удовольствия. Приложений, которые существуют для обработки ваших данных, не так много. Но иногда разработчики допускают ошибку – нетрудно заставить Android запрашивать разрешение, которое не используется приложением, и легко игнорировать эти ошибки при их создании.


При включении смартфона в верхней строке статуса может быть нарисован замочек. При нажатии — выскакивает ошибка, в тексте которой упоминается Permission Control (идентификатор com.mediatek.security).

Удалось выяснить

По мнению одного юзера, Permission Control — контроль разрешений для приложений. Данный компонент способен вызывать глюки, лаги, нестабильную работу телефона, увеличенный расход батареи. Для отключения необходимо перейти в настройки > безопасность, найти пункт App Permission > отключить.

Опасность отключенного приложения состоит в том, что все программы получат полные разрешения. Рекомендуется перед отключением просканировать смарт на наличие вирусов/троянов. Для проверки можно использовать антивирусы Касперского, Доктора Веба.

Однако, один пользователь сообщил что после отключения приложения все равно будут запрашивать доступ на разрешения.

Приложение в списке установленных:


Также может быть ошибка:

permission control произошла ошибка

Можно попробовать данное приложение заморозить при помощи Titanium Backup. Удалять не стоит — могут быть проблемы. Приложение в Титаниуме:


Apps will directly get permissions without your confirmation

Также после отключения могут быть проблемы с Play Market (скорее всего связаны с безопасностью).

Еще один человек подтвердил — если вас достает приложение Permission Control, выключите в настройках > безопасность > разрешения для приложений.

Дополнительно удалось выяснить — за запуск сторонних приложений отвечает не только Phone Cleaner (необходим для энергосбережения), но и плагин Permission Control.

Если Permission Control заморозить Титаниумом тогда автостарт в настройках станет неактивным.

По непроверенной информации Permission Control это тоже самое что и Privacy Protect.

Чтобы приложение пермиссион вас больше не доставало, можно поставить галочку Больше не уведомлять.

Другой пользователь написал свой способ отключения

  1. Открываете патчер Lucky Patcher, выбираете Permission control.
  2. Чистим кэш. Останавливаем.
  3. Заморозить. В связи с тем что приложение системное — рекомендуется сделать бэкап.

Другой чел написал, что он решил проблему через Гравицапу — там есть блокировка уведомлений.

Странный косяк — когда приложение пытается использовать GPS, то пермиссион контрол отображает GPS как Bluetooth.

Что это такое?

Приложение App Permissions Manager для Андроид

Преимущества менеджера

Основной упор делается на возможность отключения разных данных по отдельности. Если вам нужно установить ваше месторасположение, то эту конкретную опцию легко будет разрешить. Хотя остальные данные по-прежнему останутся вне досягаемости для установленных приложений.

Также к огромным плюсам можно отнести работу в реальном времени. Зайдя в «App Permissions» и отключая разные характеристики, они тут же вступают в силу. Не нужно производить перезагрузку девайса, все уже будет применено на деле. А процесс запрета происходит посредством перетаскивания ползунка с одной стороны в другую. Все действительно очень просто и не требует особых навыков от пользователя. Для полноценной работы программы, на Андроиде требуется активный root-доступ.

Интерфейс

Весь интерфейс состоит из списка приложений, где возможно установить ограничение на доступ к личной информации. Вверху имеется навигационное меню: Device, Personal, Location, Messaging. Никаких дополнительных настраиваемых меню больше нет.

Кстати, почитайте эту статью тоже: Обзор нетбука Samsung NC110

Замечание

Внимание! Не стоит путать работу этого приложения со всплывающими уведомлениями в версии Андроид 6.0 и выше – “App Permission Management is running” (настройки APM активированы) и “App Permission Management is closed” (настройки APM отключены). Убрать (отключить) уведомления можно в “Настройках” – “Безопасность” (листаем вниз) – перемещаем ползунок против “Разрешения приложений”. Если уведомление появляется при запуске определенного приложения, тогда войдите в его сведения в Диспетчере приложений и там в пункте “Разрешения” активируйте или снимите все ползунки.

Уведомление App Permission Management is running

Как инсталлировать в смартфон

Распространяется «App Permissions Manager» официально через Google Play. Он совершенно бесплатный, поэтому нет смысла скачивать его с других источников в интернете. Сам процесс установки ничем не отличается от стандартного приложения, всего в пару кликов все уже будет инсталлировано к вам в телефон. Аналогов также предостаточно в Маркете, но качество их не всегда лучшее.

Похожие статьи

Что это такое?

Приложение App Permissions Manager для Андроид

Преимущества менеджера

Основной упор делается на возможность отключения разных данных по отдельности. Если вам нужно установить ваше месторасположение, то эту конкретную опцию легко будет разрешить. Хотя остальные данные по-прежнему останутся вне досягаемости для установленных приложений.

Также к огромным плюсам можно отнести работу в реальном времени. Зайдя в «App Permissions» и отключая разные характеристики, они тут же вступают в силу. Не нужно производить перезагрузку девайса, все уже будет применено на деле. А процесс запрета происходит посредством перетаскивания ползунка с одной стороны в другую. Все действительно очень просто и не требует особых навыков от пользователя. Для полноценной работы программы, на Андроиде требуется активный root-доступ.

Интерфейс

Весь интерфейс состоит из списка приложений, где возможно установить ограничение на доступ к личной информации. Вверху имеется навигационное меню: Device, Personal, Location, Messaging. Никаких дополнительных настраиваемых меню больше нет.

Замечание

Внимание! Не стоит путать работу этого приложения со всплывающими уведомлениями в версии Андроид 6.0 и выше — «App Permission Management is running» (настройки APM активированы) и «App Permission Management is closed» (настройки APM отключены). Убрать (отключить) уведомления можно в «Настройках» — «Безопасность» (листаем вниз) — перемещаем ползунок против «Разрешения приложений». Если уведомление появляется при запуске определенного приложения, тогда войдите в его сведения в Диспетчере приложений и там в пункте «Разрешения» активируйте или снимите все ползунки.

Уведомление App Permission Management is running

Как инсталлировать в смартфон

Распространяется «App Permissions Manager» официально через Google Play. Он совершенно бесплатный, поэтому нет смысла скачивать его с других источников в интернете. Сам процесс установки ничем не отличается от стандартного приложения, всего в пару кликов все уже будет инсталлировано к вам в телефон. Аналогов также предостаточно в Маркете, но качество их не всегда лучшее.

В момент, когда устройство переходит в состояние IDLE:

  • Доступ приложению к сети отключен, пока приложение не получит high-priority GCM-push.
  • Система игнорирует Wake lock’и. Приложения могут сколько угодно пытаться запросить пробуждение процессора — они их не получат.
  • Alarm’ы запланированные в AlarmManager не будут вызываться, кроме тех, которые будут обновлены с помощью setAndAllowWhileIdle().
  • Система не производит поиска сетей Wi-Fi.
  • NetworkPolicyManagerService: пропускает только приложения из белого списка.
  • JobSchedulerService: все текущие задачи отменяются. Новые откладываются до пробуждения.
  • SyncManager: все текущие отменяются, новые откладываются до пробуждения.
  • PowerManagerService: только задачи приложений из белого списка вызовутся.
  • Пользователь явно запустил приложение.
  • Приложение имеет процесс, работающий в данный момент на переднем плане (Activity или foreground service, или используется другой activity или foreground service’ом).
  • Приложение создало уведомление, которое висит в списке уведомлений.
  • Пользователь принудительно добавил приложение в список исключений оптимизации в настройках системы
  1. Нормальные разрешения, вроде доступа к сети и bluetooth.
  2. Опасные разрешения. В этот список входят разрешения на: календарь, камеру, контакты, местоположение, микрофон, телефон, сенсоры, смс и внешнее хранилище

Вот как раз все опасные разрешения мы и должны постоянно проверять, ибо пользователь может в любой момент их запретить. Да и при первом старте доступа у приложения к ним нет. Итак, последовательность наших шагов:

Часто при установке приложения на Android нам приходилось видеть, что оно запрашивает какое-то немыслимое количество разрешений. Например:


Хорошо, если вы устанавливаете приложение от какого-то известного разработчика, которому можете доверять. Но весьма подозрительно, если вы устанавливаете новый музыкальный плеер, а ему для работы требуется, например, получать ваше местоположение. Или, тем более, фонарик, требующий доступ к смс и звонкам.

Некоторые разработчики, чтобы уменьшить недоверие, добавляют в описание приложения на Google Play информацию о том, зачем нужно то или иное разрешение.

К шестой версии Android ситуация поменялась. Теперь разрешения нужно запрашивать в процессе работы. О том, как этой новой возможностью пользоваться и ее некоторых подводных камнях будет рассказано далее.

Общая информация



Разрешения делятся на два типа (есть и другие, но они нас не интересуют):

Можно увидеть, что доступ к интернету не считается опасным. Все, кто использует рекламу в своих программах, могут вздохнуть с облегчением: отключить её, просто отобрав разрешение, не получится (все еще можно просто отключить интернет, но факт остается фактом).



Взаимодействие с пользователем

Посмотрим, как нужно производить взаимодействие с пользователем. Начнем непосредственно с запроса разрешения. С обычными разрешениями все понятно, это дело установщика приложений, нас это не интересует, а то, как мы будем запрашивать опасные разрешения, зависит от двух вещей.

Первая из них — это важность данного разрешения для вашего приложения, от этого зависит, когда нужно производить запрос. Если функция критична и без нее программа не будет иметь смысла, то смело просите разрешения прямо при запуске приложения. Например, если вы разрабатываете приложение для обмена sms, то без соответствующих разрешений с ним ничего не получится сделать, оно теряет всякий смысл. А если пользователь отказал, то не пропускаем его дальше, но даем возможность снова вызвать диалог запроса и даем инструкции что нужно делать.





  • важные разрешения запрашиваем при запуске, вторичные — при первом использовании соответствующей функции;
  • если понять, зачем нужно разрешение тяжело, предоставляем объяснение.



Но даже если у вас все хорошо с проверками и нет возможности заниматься внедрением новых возможностей, стоит перепроверить, все ли правильно работает, потому что иногда можно получить null не там, где его ожидаешь. Так, например, при использовании Environment.getExternalStorageDirectory() без наличия разрешения из группы Storage, мы получим File, но list() вернет нам заветный null. В документации такой исход описан, но для ситуации, когда File не является директорией. Так что проверка в любом случае лишней не будет.

Есть возможность добавить разрешение только для Android M и выше. Для это в манифесте нужно использовать новый тег <uses-permission-sdk-23 /> (ранее называвшийся <uses-permission-sdk-m />). Его синтаксис аналогичен обычному <uses-permission />. Это может быть полезно, если вы хотите добавить в существующее приложение возможность, которая требует дополнительного разрешения. Как вы помните, если новая версия программы требует дополнительных прав, пользователь должен вручную подтвердить ее обновление. Этого можно избежать, если новая функция не очень важна, отключив ее для более ранних версий системы, используя описанный ранее тег. В таком случае это разрешение будет вовсе отсутствовать.

В процессе отладки часто приходится включать/отключать разрешения. Заходить для этого каждый раз в настройки приложения не очень удобно. К счастью, это можно сделать с помощью adb:


И еще несколько полезных команд, смысл которых ясен из названия:


Перейдем к непосредственной реализации (предварительно не забудем обновить compileSdkVersion и targetSdkVersion до версии 23).

До момента, когда Marshmallow станет минимальной версией андроида для ваших приложений, еще далеко, поэтому нужно позаботиться об обратной совместимости. Конечно, можно делать проверки версии sdk, но зачем, если все реализовано за нас в support library v4 (ActivityCompat) и v13 (FragmentCompat). Если все же вам понадобятся оригинальные методы, то найти их не составит труда.

Во всех примерах используется ActivityCompat, так как они были сделаны для activity. Для fragment нужно использовать FragmentCompat. Если вы по какой-то причине не используете activity и fragment из support библиотек, то вам нужно реализовать интерфейс ActivityCompat.OnRequestPermissionsResultCallback или FragmentCompat.OnRequestPermissionsResultCallback соответственно.


Далее, если разрешение есть, выполняем нужное нам действие, а если нет, то его нужно запросить. Одновременно можно запросить несколько разрешений (пользователю по очереди будет показан запрос на каждое из них), если это необходимо.

Стоит упомянуть, что если разрешения находятся в одной permission group, то запросить достаточно одно из них, так как все остальные элементы этой группы станут также доступны. Но так делать не нужно. Потому что в будущем состав групп может поменяться, поэтому при запросе разрешений не нужно делать предположений относительно того находятся ли они в одной группе или нет.

UPD будто в подтверждение предыдущего параграфа, начиная с Android 8.0 разрешения из одной permission group не выдаются сразу — каждое разрешение нужно запрашивать отдельно, но все разрешения из одной группы будут выданы автоматически, без участия пользователя при первом же их запросе.

UPD2 это же поведение было замечено на Android 7.0 — если часть разрешений из группы выдана (не могу сказать с уверенностью, имеет ли значение какие именно), то остальные будут выдаваться по запросу сразу же без показа диалога. Это может вызвать проблемы, если ваше приложение объясняет пользователю зачем ей нужно то или иное разрешение еще до его запроса. В реальной жизни такое редко когда может возникнуть (только при использовании adb комманд), но стоит учитывать это при отладке приложения.

Для запроса используется метод ActivityCompat.requestPermissions(Activity activity, String[] permissions, int requestCode). Массив permissions соответственно содержит названия разрешений, которые вы хотите запросить. Отсюда видно, что одновременно можно запрашивать несколько разрешений. requestCode — значение, по которому в дальнейшем можно будет определить, на какой запрос разрешения вам пришел ответ подобно тому как мы получаем результат от activity, используя startActivityForResult. Кстати, если посмотреть на код requestPermission, то обнаружится, что это всего лишь особая версия startActivityForResult.


Как видите, напрямую запрашивать разрешения можно только из Activity или Fragment. Если разрешение требуется сервису, то придется запускать Activity, из которой уже можно будет сделать запрос. Лучше всего перед этим будет показать уведомление, содержащее информацию о недостающем разрешении с кнопкой для запуска этой самой Activity.

Результат запроса разрешения следует обрабатывать в onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults). Параметры requestCode и permissions содержат данные, которые вы передавали при запросе разрешений. Основные данные здесь несет массив grantResults, в котором находится информация о том, получены разрешения или нет. Каждому i-му элементу permissions соответствует i-ый элемент из grantResults. Их возможные значения аналогичны результату checkSelfPermission.


Размер массива grantResults проверяется для того, чтобы удостовериться, что запрос разрешения не был прерван (в этом случае permissions и grantResults не будут содержать элементов). Такую ситуацию следует рассматривать не как запрет разрешения, а как отмену запроса на него.

Если вы ранее уже запрашивали разрешение, но пользователь отказался предоставить его, необходимо объяснить ему причину запроса. Этого не нужно делать, если причина, по которой вы запрашиваете разрешение, абсолютно ясна. Если же есть вероятность, что вопрос “А зачем приложению это нужно?” возникнет, то объяснить это крайне желательно. Для того чтобы узнать, нужно ли показывать объяснение есть метод shouldShowRequestPermissionRationale(@NonNull Activity activity, @NonNull String permission), который возвращает boolean. Само же объяснение можно реализовать, например, с помощью Snackbar с кнопкой действия, по клику на которой происходит запрос разрешения, или диалогового окна, если разрешение критично необходимо.

Never ask again

Одной из проблем может стать опция “Never ask again”, которая появляется при повторном запросе разрешения, после того как пользователь уже отказал ранее. Как видно из названия, при её выборе диалог запроса не будет больше появляться. shouldShowRequestPermissionRationale будет выдавать false, а в onRequestPermissionsResult будет получен результат PackageManager.PERMISSION_DENIED. И получим разрешение мы, только если включить его непосредственно через настройки приложения в разделе Permissions.

Что с этим можно сделать? В первую очередь, конечно, сообщить пользователю, что для выполнения действия нет нужных прав. Далее возможным действием может быть предложение перейти в настройки и предоставить это разрешение вручную. Не лучший вариант, но лучше чем ничего. Реализовать это можно вновь с использованием Snackbar с кнопкой действия.

Перейти непосредственно на страницу с разрешениями не получится, поэтому лучшее, что вы можете сделать, это открыть настройки своего приложения. После этого можно, например, показать Toast с информацией, что нужно сделать.


В примере используются startActivityForResult и onActivityResult чтобы определить, что пользователь вернулся из activity настроек обратно в приложение и попробовать выполнить действие, которое нельзя было сделать без нужного разрешения. В методе showExtDirFilesCount нужно снова проверить есть ли разрешение для уверенности, что пользователь его все-таки выдал.

Здесь может возникнуть ситуация, которая не особенно мешает, если вы используете Snackbar для показа rationale, но портит UX, если вы решили использовать диалоги (причины этого решения мы не затрагиваем). А именно двойное появление rationale, до запроса разрешения и после него. Как это может произойти? У нас всего два метода, по которым мы можем судить о состоянии разрешения. Проблема в том, что до запроса разрешения ситуация, когда мы еще никогда не запрашивали это разрешение, и ситуация, когда пользователь ранее выбрал “Never ask again”, абсолютно одинаковы по значениям. А именно checkSeflPermission возвращает нам PERMISSION_DENIED, a shouldShowRequestPermissionRationale — false. Значит, показывать диалог для открытия настроек мы будем в onRequestPermissionsResult, где значение shouldShowRequestPermissionRationale точно будет разным для этих двух ситуаций. Все отлично? Не совсем. В этом callback’e никак нельзя определить была ли показана rationale или нет. Поэтому если вы показываете причину запроса, а далее пользователь просит больше его не спрашивать об этом разрешении, после нажатия на кнопку DENY он получит очередной rationale диалог, приглашающий его в настройки программы. Хорошие программы так себя не ведут.

Что делать в такой ситуации? В сети есть пара не очень красивых решений: одно из них — сохранять в SharedPreferences информацию о том имеется ли разрешение или нет, другое — хранить флаг о том была показана rationale или нет внутри класса. Первое решение не хорошо тем, что пока приложение не работает, пользователь может изменить настройки разрешений и информация в preferences будет неактуальной. Второй же способ не особо красивый.

Хорошим вариантом (на мой взгляд) будет завести два requestCode для каждого запроса, один для использования в rationale другой в остальных случаях. Этот способ так же не идеален и не особенно красив, но помогает придерживаться существующих методов, не внося ничего нового.

Intent

Есть еще одна важная рекомендация при использовании runtime разрешений. Не используйте их. Точнее, используйте, но только тогда, когда функционал, который вы собираетесь реализовать с их помощью, не сделал уже кто-то до вас.

В качестве самого показательного примера чаще всего вспоминают камеру. Используйте стандартное приложение камеры (или другие приложения, умеющие это делать), если вам нужно всего лишь сделать фотографию без какой-то особой логики. В этом вам помогут Intent’ы (подробнее).

Таким образом, вы сможете избавиться от некоторых опасных разрешений и упростите работу с приложением.

Читайте также: