Андроид 5.1 карта памяти доступ запрещен. Разрешения приложений на андроид и как ими управлять

02.04.2019

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

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

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

Как оказалось позже, корень проблемы состоял в тонкостях архитектуры программ для Андроид, поскольку различные по предназначению приложения запрашивают крайне похожие разрешения. Для функционирования, например, фонарика, нужно получить разрешение на фото и видеосъёмку без соответствующего подтверждения со стороны пользователя. Суть заключается в том, что диод LED, который используется в роли фонарика, является неотъемлемой часть схемы камеры смартфона. Если программа имеет доступ к фонарику, значит для неё открыта также фото- и видеосъёмка, из-за чего и появляется запрос данных разрешений.

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

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

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

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

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

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

1. Перейти в меню настроек через верхнюю «шторку» или через меню приложений.

2. Перейти во вкладку «Приложения».

3. Тапнуть на иконку дополнительных настроек в правом верхнем углу.

4. Перейти в раздел «Разрешения приложений».

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


Также управление правами приложений в Android 6.0 Marshmallow предполагает отображение программ, которые могут изменять настройки.


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

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

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

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

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

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

  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);
Обратите внимание, что данный код будет работать только в том случае, если соответствующий запрос содержится в файле манифеста:

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

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

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

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

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 года, реализован новый механизм разрешений. Теперь они будут запрашиваться не во время установки приложения, а при первой попытке использования какой-либо функции. Будем надеяться, что это существенно облегчит жизнь как разработчикам, так и пользователям.

Permission Master - это специальный модуль для Xposed Framework, который предназначен для управления разрешениями любой установленной на вашем гаджете программы. Подробное описание этого проекта с пошаговыми инструкциями по установке Xposed и отдельных модулей для него я сделал в , поэтому не будем ещё раз повторяться, а перейдём непосредственно к работе Permission Master.

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

Примерно такой же алгоритм используется на второй вкладке, но здесь все разрешения сгруппированы по программам. Вы можете просмотреть список доступных действий для каждого приложения и одним тапом отключить ненужное. Обратите внимание, что если вы задержите палец на названии любого разрешения, то появится всплывающее окно с пояснением его свойств. Это очень пригодится тем, кто сомневается в необходимости и безопасности того или иного действия. А чтобы обезопасить себя от дополнительных проблем, не забудьте зайти в настройки Permission Master и отключить отображение системных программ.

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