17 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Отсутствует необходимое разрешение в Контакты; что делать

Отсутствует необходимое разрешение в Контакты – что делать

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

Приложение Контакты в телефонах Андроид наиболее важное

Разрешение печати

Собственно, загвоздка заключается в том, что при печати у нас появляется новая переменная, с которой не знаком среднестатистический пользователь — разрешение печати. Лишь узкий специалист, занимающийся полиграфией, рекламой, фотопечатью и т.п., может без труда назвать минимально необходимое разрешение для создания физического изображения на огромный биллборд, небольшую визитку или футболку с принтом. Мы же в этом материале остановимся на распространенных примерах печати, с которыми каждый из нас может столкнуться в повседневной жизни (печать на листы формата А4, А3, A2, A1, A0), а также выведем простую формулу для расчета необходимого разрешения для любой поставленной задачи.

Почитать

Новый метод рутинга

В последнее время одним из основных методов получения прав root на Android стал Magisk. Он использует так называемый systemless-способ рутинга, когда вместо модификации раздела system поверх него подключается виртуальный раздел, содержащий бинарный файл su, необходимый приложениям для получения прав root. Такой метод позволяет избежать проблем с обновлениями, а также эффективно скрывать наличие прав root на устройстве.

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

Метод KernelSU, предложенный разработчиком zx2c4, базируется на совершенно другой идее. Вместо подключения виртуального раздела или физического размещения файла su в разделе system он использует модифицированное ядро, чтобы заставить приложения «думать», что в системе действительно есть файл /system/bin/su . Ядро перехватывает все обращения к этому файлу и, если приложение пытается с его помощью запустить команды, автоматически исполняет их с правами root.

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

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

Небезопасный IPC в софте для Android

Security Code Smells in Android ICC — большое исследование безопасности приложений, использующих механизмы межпроцессного взаимодействия Android. Авторы взяли около 700 открытых приложений из репозитория F-Droid и проанализировали, есть ли в их коде проблемы в использовании IPC.

Анализ был произведен с помощью специально созданного инструмента AndroidLintSecurityChecks, который показывает наличие в коде потенциальных брешей. Все проблемы скомпоновали в 12 категорий:

  • SM01: Persisted Dynamic Permission. В Android есть механизм, позволяющий предоставить другому приложению временный доступ к какому-либо URI своего ContentProvider’а. Это делается с помощью метода Context.grantUriPermission() . Если приложение вызывает его, но не вызывает Context.revokeUriPermission() , чтобы отозвать доступ, — есть проблемы.
  • SM02: Custom Scheme Channel. Любое приложение может зарегистрировать собственную URI-схему, такую как myapp:// , вне зависимости от того, использует ли такую схему другое приложение. Как следствие, пересылать важные данные, используя кастомные URI-схемы, крайне небезопасно.
  • SM03: Incorrect Protection Level. В Android есть система разрешений и любое приложение может создать свое собственное разрешение для доступа к своим данным. Но есть проблема: если указать неправильный уровень защиты разрешения (protection level), оно может не сработать. Если разработчик хочет, чтобы пользователь видел диалог запроса разрешений, он должен использовать уровень защиты dangerous или signature, если данное разрешение должно получать только приложение с той же цифровой подписью.
  • SM04: Unauthorized Intent. Любое приложение в Android может зарегистрировать себя в качестве обработчика определенных типов интентов (intent). По умолчанию этот обработчик будет открыт всему миру, но его можно защитить с помощью системы разрешений и строгой валидации входных данных.
  • SM05: Sticky Broadcast. Любое приложение может послать другому приложению интент. Более того, оно может послать широковещательный интент сразу всем приложениям, и он будет обработан первым приложением, способным его принять. Но есть также возможность послать широковещательный sticky-intent, который после обработки одним приложением все равно будет доставлен другим приложениям. Чтобы этого не происходило, не стоит использовать такие интенты, а от широковещательных интентов лучше отказаться вообще.
  • SM06: Slack WebViewClient. Компонент WebView позволяет приложениям показывать веб-страницы внутри своего интерфейса. По умолчанию он никак не фильтрует открываемые URL, чем можно воспользоваться, например, для фишинга. Разработчикам стоит либо использовать белый список адресов, либо выполнять проверку с помощью SafetyNet API.
  • SM07: Broken Service Permission. Приложения могут предоставлять доступ к своей функциональности с помощью сервисов. Злоумышленник может использовать эту возможность для запуска кода с повышенными полномочиями (полномочиями сервиса). Чтобы этого избежать, сервис должен проверять полномочия вызывающего приложения с помощью метода Context.checkCallingPermission() .
  • SM08: Insecure Path Permission. Некоторые приложения предоставляют доступ к своим данным с помощью ContentProvider’а, который адресует данные, используя UNIX-подобные пути: /a/b/c . Программист может открыть доступ к своему ContentProvider’у, но отрезать доступ к некоторым путям (например, к /data/secret ). Но есть проблема: разработчики часто используют класс UriMatcher для сравнения путей, а он, в отличие от Android, сравнивает их без учета двойных слешей. Отсюда могут возникнуть ошибки при разрешении и запрете доступа.
  • SM09: Broken Path Permission Precedence. Сходная с предыдущей проблема. При описании ContentProvider’а в манифесте разработчик может указать, какие разрешения нужны приложению для доступа к определенным путям. Но в Android есть баг, из-за чего он отдает предпочтение более глобальным путям. Например, если приложение дает доступ к /data всем подряд, но использует специальное разрешение для доступа к /data/secret , то в итоге доступ к /data/secret смогут получить все.
  • SM10: Unprotected Broadcast Receiver. Фактически аналог проблемы SM04, но распространяющийся исключительно на BroadcastReceiver’ы (специальные обработчики интентов).
  • SM11: Implicit Pending Intent. Кроме интентов, в Android есть сущность под названием PendingIntent. Это своего рода отложенные интенты, которые могут быть отправлены позже и даже другим приложением от имени создавшего интент приложения. Если PendingIntent широковещательный, то любое приложение сможет перехватить его и послать интент от имени этого приложения.
  • SM12: Common Task Affinity. Об этой проблеме мы уже рассказывали в «Хакере». Суть в следующем: в Android все экраны приложения (activity) объединяются в таск, который представляет собой своего рода стопку экранов. В то же время в Android есть средство, которое позволяет одному приложению всунуть свой экран в стопку другого приложения. Для этого буквально достаточно указать имя этого приложения в атрибуте android:taskAffinity у активности, которую нужно внедрить. А чтобы защититься, разработчик должен указать в этом атрибуте пустую строку.
Читать еще:  Популярные приложения для скачивания фильмов на Android

Общая распространенность ошибок

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

Вредоносные библиотеки

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

Все началось с того, что автор решил подключить к проекту библиотеку AndroidAudioRecorder и обнаружил, что сразу после старта приложение крашится, выбрасывая исключение java.lang.SecurityException: Permission denied (missing INTERNET permission?). Это означает, что приложение не может получить доступ к интернету, так как отсутствует необходимое для этого разрешение.

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

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

Суть истории. Существует репозиторий Java-пакетов jCenter, привязанный к системе дистрибуции Bintray. Android Studio использует jCenter как дефолтовый репозиторий для новых проектов: он уже включен в список репозиториев в build.gradle наряду с репозиторием Google. Однако многие разработчики предпочитают размещать свои библиотеки в репозитории JitPack, который умеет автоматически генерировать и выкладывать в репозиторий библиотеки из GitHub-репозитория (это удобно и просто).

Библиотека AndroidAudioRecorder также была выложена в JitPack, так что автор статьи перед ее использованием добавил JitPack в build.gradle . Но оказалось, что в jCenter тоже была выложена эта библиотека с внедренным в нее зловредным кодом. А так как jCenter в списке репозиториев идет первым, система сборки взяла библиотеку именно из него, а не из JitPack.

Один из способов решения этой проблемы — разместить jCenter в конце списка репозиториев в build.gradle .

Кусок зловредного кода

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Отсутствует необходимое разрешение в контактах – что делать

В некоторых телефонах при попытке добавить контакт появляется сообщение об отсутствии разрешения. Замечено, что в основном это устройства с ОС android версии 6.0 и выше. В чем причина неполадки и как ее устранить читайте в статье.

Почему смартфон выдает ошибку «Отсутствует необходимое разрешение Контакты»

Причины сбоя различные.

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

2. После обновления прошивки или сброса настроек иногда требуется повторное разрешение доступа.

3. Некорректная перепрошивка устройства. Сторонняя операционная система может не соответствовать “железу” Вашего смартфона и функционировать со сбоями.

На каких устройствах возникает проблема с добавлением контакта

Надпись “Отсутствует необходимое разрешение Контакты” заметили владельцы следующих гаджетов:

– устройств от компании Fly;

Читать еще:  Лучший бюджетный смартфон 2019 года по китайской цене в России: обзор Redmi Note 7

– аппаратов бренда Sony Xperia,

– смартфонов китайского производства Honor, Digma, Dexp, Xiaomi, Alcatel, Huawei, BQ (хоть официально и является российской торговой маркой, основные процессы по изготовлению проходят в Китае).

Безопасно ли разрешать программам доступ

Для корректной работы необходим доступ всех компонентов приложения. Если отсутствует одно или несколько разрешений – вся программа может давать сбои.

Установка зараженного вирусами софта может нанести вред ОС Вашего устройства.

Соблюдая следующие правила можно свести риски к минимуму:

– скачивайте приложения только из надежных источников;

– дополнительная проверка антивирусом увеличит безопасность;

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

Что делать при ошибке Отсутствует необходимое разрешение в контактах

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

Руководство для устранения неполадки “Отсутствует необходимое разрешение “Контакты”

1. Зайдите в “Настройки” телефона (значок в виде шестеренки), затем в раздел “Устройства”, тапните по пункту “Приложения”.

2. Из появившегося списка на экране нужно выбрать “Контакты”, затем “Разрешения”.

3. Откроется перечень опций для приложения “Контакты” – активируйте их все. Так вы дадите необходимое разрешение всем компонентам программы.

Другой способ:

– зайдите в “Настройки” и откройте “Настроить приложения”;

– перейдите в раздел “Разрешения приложений” и выберите нужное – в данном случае “Контакты”.

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

Разрешения для “Контакты”

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

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

Иногда сторонняя программа запрещает доступ другим, прописавшись в администраторы устройства.

Устранить это можно удалив приложение из списка администраторов устройства:

– «Настройки» – «Расширенные настройки» – «Конфиденциальность» – «Администраторы устройства» – просмотрите перечень и уберите галочки с неизвестных служб.

Фотографии и видеозаписи

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

Загрузка фотографий и видеозаписей на устройство

Для создания копий фотографий и видео выполните следующие действия.

  • На устройстве iPhone, iPad или iPod touch выберите «Настройки» > [ваше имя] > iCloud > «Фото». Затем выберите «Сохранение оригиналов» и импортируйте фотографии на компьютер.
  • На компьютере Mac откройте приложение «Фото». Выберите фотографии и видео, которые необходимо скопировать. Выберите «Файл» > «Экспорт».
  • На компьютере с ОС Windows настройте iCloud для Windows и включите функцию «Фото iCloud».

Загрузка фотографий и видео с веб-сайта iCloud.com

Если требуется загрузить несколько фотографий или видео, перейдите на веб-сайт iCloud.com.

  • На устройстве iPhone, iPad или iPod touch перейдите в iCloud.com, нажмите «Фотографии», «Выбрать». Затем выберите фотографии и видео, которые требуется загрузить, и нажмите «Еще» ( ). Выберите «Загрузить», и фотографии и видео будут загружены в виде файла .zip на iCloud Drive.
  • На компьютере Mac или компьютере с ОС Windows перейдите на веб-сайт iCloud.com и щелкните «Фото». Затем выберите фотографии и видео, которые требуется загрузить, и нажмите «Загрузить» ( ).

Копирование фотографий из общих альбомов

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

Копирование фотографий из общих альбомов на iPhone, iPad или iPod touch

  1. Откройте «Фото» и нажмите «Альбомы».
  2. Найдите «Общие альбомы», затем нажмите имя нужного альбома. Возможно, потребуется смахнуть влево, чтобы найти общий альбом.
  3. Сохраните фотографии из альбома одним из следующих способов.
    • Нажмите изображение, чтобы открыть его, а затем нажмите Поделиться . Чтобы выбрать другие изображения, прокрутите список влево или вправо и нажмите те из них, которые нужно сохранить. Нажмите «Сохранить изображение».
    • Нажмите «Выбрать» и нажмите изображения, которые нужно сохранить. Нажмите «Поделиться» ( ), а затем — «Сохранить изображение».
  4. Импортируйте фотографии на свой компьютер.

Копирование фотографий и видео из общих альбомов на компьютере Mac

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

  1. Откройте приложение «Фото» и выберите «Общие альбомы».
  2. Дважды щелкните общий альбом.
  3. Щелкните фотографию, удерживая клавишу Control (или правой кнопкой мыши), и выберите «Импорт».

После импорта фотографий можно создать резервную копию медиатеки. Фотографии можно хранить как отдельную медиатеку на своем компьютере или на другом диске.

Копирование содержимого из общих альбомов в Windows

Сохраненные фотографии доступны даже после отключения приложения «Фото» в iCloud для Windows. Чтобы сохранить фотографии и видео из общего альбома, необходимо переместить их в другую папку на жестком диске.

  1. Откройте приложение iCloud для Windows.
  2. Нажмите «Параметры» рядом с элементом «Фото». Запомните путь, указанный в разделе «Расположение фотографий iCloud».
  3. Откройте окно «Проводник» (в Windows 8 или более поздней версии) или «Проводник Windows» (в Windows 7).
  4. Перейдите к папке с фотографиями iCloud по указанному пути. Откройте папку «Общие».
  5. Выберите фотографии, которые требуется сохранить, а затем скопируйте их в другую папку на компьютере. Включите эту папку в резервную копию компьютера.

Сведения о резервном копировании данных компьютера с ОС Windows см. на странице службы поддержки компании Майкрософт.

Загрузка фотографий из «Моего фотопотока» на устройство iPhone, iPad или iPod touch

Фотографии, опубликованные в «Моем фотопотоке», загружаются на компьютер Mac автоматически. Чтобы загрузить их на устройство iPhone, iPad или iPod touch, выполните следующие действия.

  1. Нажмите «Фотографии», затем нажмите вкладку «Альбомы».
  2. Нажмите «Мой фотопоток».
  3. Нажмите «Выбрать», затем нажмите все фотографии, которые требуется сохранить.
  4. Нажмите «Поделиться» ( ), а затем — «Сохранить изображение».
Читать еще:  Инструкции по использованию Odin для Samsung

Поиск проблемных программ

Есть отличная программа Alert Window Checker, которая позволяет отслеживать запущенные программы с доступом к наложению.

  1. Установите приложение из Play Маркета.[appbox googleplay jp.sfapps.alertwindowchecker]
  2. Запустите программу.
  3. В окне «Running Screen Overlay Apps» отобразятся активные приложения с наложением.
  4. Нажимайте «Hide» по очереди для каждого ПО и проверяйте наличие ошибки.
  5. Если уведомление отсутствует, то вы нашли проблемное приложение.

Установка разрешения утилитой NVIDIA

Утилиты от производителей видеокарт поставляют вместе с драйверами и утилиты для настройки всевозможных параметров. С их помощью можно как узнать разрешение экрана на windows 10, так и изменить (увеличить или уменьшить).

Шаг 1: Открыть панель управления NVIDIA можно двумя способами. Первый — в правой нижней части экрана в области уведомлений нажмите на стрелку для отображения скрытых иконок, нажмите на иконке NVIDIA и в списке запустите «Открыть Панель управления NVIDIA».

Запустите утилиту панели управления NVIDIA

Шаг 2: Второй способ — это через контекстное меню экрана. При установке драйверов и утилит от NVIDIA программа устанавливает по умолчанию контекстную ссылку. Запустите «Панель управления NVIDIA». Оба эти способа запускают утилиту управления видеокартой.

Второй способ запустить утилиту

Шаг 3: В колонке задач раскройте список «Дисплей» и выберите «Изменение разрешения». В правой части в области «Разрешение:» установите требуемые параметры и подтвердите нажав «Применить». Опять же кнопка применить появиться только после смены установленного на новое разрешение.

Измените разрешение экрана

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector