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

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

Подписаться
Вступай в сообщество «de-kaizer.ru»!
ВКонтакте:

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

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

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

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

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

Для более гибкой настройки разрешений можно использовать скрытую функцию Android под названием AppOps. Доступ к ней осуществляет с помощью одноименного приложения из Google Play. Оно совместимо с устройствами на Android 4.3 и 4.4, root-доступ ему не требуется. Фактически, это просто ярлык, который открывает настройки разрешений.

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

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

К сожалению, AppOps не умеет запрещать приложениям использовать интернет. Для этого можно установить антивирус с фаерволом, как вариант — бесплатный Avast .

В настройках брандмауэра Avast! указываете, каким приложениям разрешено использовать интернет Wi-Fi, 3G и GPRS, все остальные соединения будут запрещены.

Брандмауэру Avast требуется root-доступ к файловой системе, на устройствах без него можно использовать, например, приложение «Фаервол без root-прав » или . Они работают по одному принципу: создают VPN-соединение, и при попытке какого-либо приложения обратиться в интернет спрашивают пользователя, можно ли это сделать. В настройках правил файервола у любого приложения можно отнять доступ к сети. История установленных соединений записывается в лог.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Перевод

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

← Вернуться

×
Вступай в сообщество «de-kaizer.ru»!
ВКонтакте:
Я уже подписан на сообщество «de-kaizer.ru»