Как предоставить разрешение на андроид. Самые опасные разрешения для приложений на Android

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

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

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

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

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

Шаг 1.

Откройте меню настроек (Settings) через значок на главном экране, выпадающую панель уведомлений или трей. Выберите пункт «Приложения » (Apps).

Шаг 2.

Нажмите на значок в виде шестеренки, находящийся в верхнем правом углу меню приложений. На следующем экране выберите пункт «Разрешения для приложений » (App permissions).

Шаг 3.

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

Шаг 4.

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

Каждый раз, когда мы устанавливаем новое приложение на Андроид, оно запрашивает наше согласие на разрешение для определенных действий. Чаще всего никто не обращает внимания на этот список разрешений. Мы соглашаемся и продолжаем установку, рассчитывая при этом на то, что приложение проверено и вреда нанести не сможет. В этой статье мы расскажем что такое разрешения приложений на Андроид и как ими управлять.

Что такое разрешения приложений на Андроид

Приложения на Андроид могут иметь доступ к аппаратным и программным ресурсам системы. Например, доступ к отслеживанию местоположения, камере и записи звука, совершению звонков, платежей и так далее.

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

Также можно просмотреть разрешения приложений на Андроид непосредственно перед их установкой:

  1. Откройте страницу приложения в Google Play
  2. Пролистайте страницу в самый низ
  3. Нажмите «Просмотреть разрешения»

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

Управление разрешениями приложений

Управление разрешениями приложений впервые стало возможным с выходом версии Андроид 4.3, для этого в систему была добавлена утилита App Ops. Но через настройки доступ к ней был закрыт, так как предназначалась она исключительно для разработчиков.

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

Разрешения приложений на Андроид 4.3-4.4

Если у вас смартфон с версией Андроид 4.3-4.4, то получить доступ к управлению разрешениями приложений вам поможет утилита AppOps .

Порядок действий такой:

  1. Откройте AppOps
  2. Найдите в списке нужное приложение и нажмите на него
  3. Уберите галочку рядом с правами, которые хотите запретить

Разрешения приложений на Андроид 5.0-5.1

Если у вас есть Root права (вы сможете управлять разрешениями всех приложений, системных и сторонних):

  1. Выбираем рабочий режим Root
  2. Нажимаем «Проверка»
  3. Предоставляем приложению права суперпользователя
  4. Нажимаем «Выполнено»

Если у вас нет Root прав (вы сможете управлять разрешениями только сторонних приложений):

  1. Выбираем рабочий режим Privilege mode
  2. Загружаем утилиту Shizuku manager и открываем ее
  3. Нажимаем на список авторизированных приложений и включаем App Ops — Permission manager
  4. Переходим в App Ops — Permission manager и нажимаем «Выполнено»

После этого в App Ops — Permission manager можно настроить параметры разрешений для конкретного приложения по вашему усмотрению.

А как вы контролируете разрешения приложений на Андроид? Напишите ваши варианты к комментарии.

Ответы на вопросы

После настройки разрешений в приложении произошел сбой, что делать?

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

  • Перевод

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

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

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

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

Здесь мы рассмотрим существующую систему манифестов и разрешений в Android. Файл манифеста содержит информацию о пакете приложения, включая разрешения, поставщиков контента, сервисы, активности и широковещательных приёмников (broadcast receivers).

Пример общей структуры файла манифеста. Цветом выделены запросы на получение разрешений:

Самые опасные разрешения

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

Разрешения, которые в будущем вы возможно захотите пересмотреть

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






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

Запрос на совершение звонков:

Простой пример отправки SMS:

String message = "Hello Android fans! "; String number = "xxxxxxxxxxxx"; //it is preferable to use a complete international number SmsManager.getDefault().sendTextMessage(number, null, message, null, null);
Обратите внимание, что данный код будет работать только в том случае, если соответствующий запрос содержится в файле манифеста:

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

  • примерном местоположении пользователя согласно данным базовых станций и точек Wi-Fi;
  • точном местоположении пользователя согласно данным GPS, базовых станций и Wi-Fi.
Запрос доступа к данным о примерном местоположении:

Запрос доступа к данным о точном местоположении:

Вот как осуществляется получение данных о точном местоположении:

Public class MainActivity extends Activity implements LocationListener { private LocationManager locationManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 10, this); } @Override public void onLocationChanged(Location location) { String myLocation ="Location changed...\n\nYou are located at: " + "\nLatitude: " + location.getLatitude() + "\nLongitude: " + location.getLongitude(); Toast.makeText(getApplicationContext(), myLocation, Toast.LENGTH_LONG).show(); } @Override public void onProviderDisabled(String provider) { Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(intent); Toast.makeText(getApplicationContext(), "Gps is turned off... ", Toast.LENGTH_SHORT).show(); } @Override public void onProviderEnabled(String provider) { Toast.makeText(getApplicationContext(), "Gps is turned on... ", Toast.LENGTH_SHORT).show(); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } }
Не забывайте, что работоспособность данного кода зависит от наличия соответствующего запроса в файле манифеста.

Java-класс MainActivity внедряет LocationListener для получения нужных данных от устройства. Запрос текущего местоположения осуществляется вызовом requestLocationUpdates() в методе onCreate() . Когда местоположение изменяется, то для получения новых данных вызывается onLocationChanged() . Если GPS-данные недоступны, то вызывается метод onProviderDisabled(), передающий приложению информацию о местоположении.

Доступ к аудио- и видео. Если пользователь даёт такие разрешения, то он рискует тем, что его будут прослушивать или использовать камеру смартфона для слежки. Запросы доступа в файле манифеста:




Установка пакетов. Если дать такое разрешение, то приложение сможет устанавливать дополнительные пакеты без ведома пользователя.

Остановка фоновых процессов. Данное разрешение позволяет приложению вызывать killBackgroundProcesses(String), с чьей помощью оно может останавливать любые выполняющиеся в фоновом режиме процессы.

Android Marshmallow

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

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

Совет. Чтобы узнать свою версию Android, откройте настройки устройства и выберите О телефоне , О планшете или Об устройстве .

Новые приложения

Некоторые приложения из Play Маркета запрашивают доступ к данным перед установкой. На устройстве с ОС Android 6.0 или более поздней версии вы также можете настроить разрешения во время работы с программой.

Приложения, установленные на устройстве

При обновлении установленного приложения его разрешения могут измениться.

Автоматическое обновление

Приложения для ОС Android 6.0 и более поздних версий. Вам не нужно подтверждать или предоставлять разрешения. Приложение запросит их, когда ему впервые потребуется доступ к данным или функции.

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

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

Как отключить автообновление

Выберите подходящую инструкцию.

Как отключить автообновление для отдельного приложения

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

Приложения с мгновенным запуском

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

Настройка разрешений

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

Примечание. Если вы используете аккаунт Google в образовательной, государственной или коммерческой организации, администратор может управлять некоторыми разрешениями с помощью приложения Device Policy .

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

Приложение с мгновенным запуском

Все установленные приложения с определенными разрешениями Как проверить разрешения приложения, которое работает некорректно

Если в приложении возникают ошибки, выполните действия ниже.

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

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

Новая система разрешения приложений Android

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

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

Управление разрешениями Android приложения

Для этого Вам потребуется Android 6.0 Marshmallow или более новая версия на Вашем устройстве.

Откройте «Настройки», нажмите на пункт «Приложения», который находится в разделе «Устройство».

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

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

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

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

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

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

Вы также можете зайти в меню, которое располагается в правом верхнем углу на данном экране, и нажать «Все разрешения». Здесь можно увидеть все разрешения, которые выданы приложению. Android скрывает некоторые разрешения. Как видите, управление разрешениями Android приложений распространяется не на все категории.

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

Просмотр и управление разрешениями Android для всех приложений

Для просмотра и управления разрешениями для всех приложений сразу, откройте Настройки и перейдите в Приложения. В правом верхнем углу нажмите на иконку шестеренки и нажмите на пункт «Разрешения приложений».

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

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

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

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



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!