Android permission get accounts

AccountManager

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

Третий вариант – использовать класс AccountManager. С разрешения пользователя, вы можете использовать AccountManager для извлечения имён учетных записей, которые пользователь хранит на устройстве. Имея полученную информацию, вы можете, например, автоматически заполнить форму с адресом электронной почты.

Само устройство может хранить несколько аккаунтов от разных сервисов. Вы можете отфильтровать результат по типам аккаунтов. Например, у Гугла аккаунт имеет тип «com.google», Twitter использует тип «com.twitter.android.auth.login».

Для извлечения информации требуется разрешение:

В приложении вы сначала получаете экземпляр AccountManager через метод get(), а затем можете вызвать список аккаунтов определённого типа через getAccountsByType().

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

Объект Account содержит имя учетной записи, для учетных записей Google – это адрес электронной почты, который вы можете использовать для автоматического заполнения полей или в качестве ключа в базе данных и т.д.

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

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

Метод getAccounts() выводит все учётные записи, которые есть на устройстве.

На моём устройстве оказалось три учётные записи. Чтобы понять, кому они принадлежат, я заменил account.name на account.toString() и получил следующий результат.

Теперь стало понятно.

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

Источник

Подменяем Runtime permissions в Android

Здравствуйте, меня зовут Виталий.

Мне 25 лет, закончил магистратуру СПБГЭТУ «ЛЭТИ» в своем родном городе. Уже 10 лет занимаюсь программированием, из которых 4 пишу под Android. Автор многих Homebrew программ, известный под ником VITTACH, для Sony PlayStation Portable (PSP).

Сегодня я бы хотел обсудить с вами проблему безопасности мобильных приложений. Разработчики из Google постоянно улучшают Android, находя и исправляя уязвимости не без помощи обширного сообщества, собранного благодаря программе Android Security Rewards, о которой мы поговорим позже. Тем не менее, проблемы все еще остаются, и наша общая задача как коммьюнити сообщать о них, чтобы их своевременно исправляли.

Уязвимость о которой я буду говорить, относится к классу с Priority:​ P2 и Severity:​ S2, что согласно таблице в широком смысле означает:

Проблему, которую необходимо решить в разумные сроки;

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

Runtime permission

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

Это невозможно

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

Что под капотом

Runtime Permission впервые появились в Android 6.0 в ответ на потребность повышенного внимания в области выдачи dangerous-разрешений. Фактически основная идея состоит в том, чтобы взаимодействовать с пользователем при запросе разрешений через всплывающее окно. Поэтому теперь разрешения из списка dangerous необходимо запрашивать у пользователя как только они понадобятся приложению.

Источник

Разрешение GET_ACCOUNTS при использовании GCM – зачем это нужно?

У меня есть приложение с включенными Push-уведомлениями.

Я хочу понять причину, по которой нам нужно «GET_ACCOUNTS» (android.permission.GET_ACCOUNTS) при реализации GCM? Некоторые пользователи вызывают озабоченность этим разрешением. Я использовал это разрешение в манифесте, так как он был указан на официальном сайте здесь .

Насколько безопасно это разрешение? И если я удалю это, из моего манифеста, будут ли push-уведомления работать?

Он использует существующее соединение для служб Google. Для устройств с предустановкой 3.0 это требует, чтобы пользователи настраивали свою учетную запись Google на своих мобильных устройствах. Учетная запись Google не является обязательным требованием для устройств под управлением Android 4.0.4 или выше.

Итак, это причина требования разрешения

Для чтения учетной записи Google.

Подробнее об этом обзоре GCM

Вход в учетную запись Google больше не требуется для работы GCM. Поэтому вам не нужно разрешение android.permission.GET_ACCOUNTS .

Если вы используете GCM API с GoogleCloudMessaging.register ), вам больше не нужно настраивать учетную запись Google на любой версии Android. Но если вы используете устаревшую библиотеку ( GCMRegistrar.register ), вам все равно нужна учетная запись Google в старых версиях (до ICS).

Подробнее см. На странице https://groups.google.com/forum/#!topic/android-gcm/ecG-RfH-Aso . Другой поток симуляторов: почему для входа в систему GCM для устройств ниже 4.0.4 ОС требуется учетная запись Google?

Читайте также:  Прошивка для самсунг андроид самому

Для работы GCM больше не требуется разрешение GET_ACCOUNTS. Раньше это требовалось для регистрации в GCM, но недавнее обновление Play Services прекратило использование учетной записи Google даже на Froyo и Gingerbread. Если вы регистрируетесь в GCM с Play Services (т. Е. С помощью GoogleCloudMessaging.register), вам больше не нужно это разрешение на любую версию Android. Если вы используете устаревшую библиотеку (GCMRegistrar.register), вам все равно нужна учетная запись Google для версии 4.0.4, для которой требуется это разрешение.

Источник (размещен на android-gcm Google Group разработчиком Google):

Регистрация Froyo и Gingerbread осуществляется в GoogleServicesFramework, используя учетную запись Google для регистрации. Это привело к множеству ошибок auth для людей, где учетная запись не была в хорошем состоянии.

Начиная с ICS, GCM не зависит или использует учетную запись Google – вы можете использовать ее, прежде чем добавлять учетную запись или без каких-либо учетных записей.

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

Как говорили все остальные, GET_ACCOUNT необходим для устройств Android ниже 4.0.4.

Если вы похожи на меня и установили библиотеку, которая автоматически добавляет это разрешение, но вам это не нужно, вы можете сказать AndroidManifest удалить это разрешение, добавив разрешение с помощью tools:node=»remove» :

В вашем файле AndroidManifest.xml убедитесь, что атрибут xmlns:tools он определен в вашем теге manifest а затем добавьте его с remove набором:

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

* Редактировать: есть отчет об ошибке, открывающий эту функцию: https://bugzilla.xamarin.com/show_bug.cgi?id=48153

Когда вы используете

Compile ‘com.google.android.gms: play-services: 7.5.0’ Добавить файл build.gradle означает, что автоматически добавлено разрешение GET_ACCOUNT.

  • Например, если разработчику нужно использовать только admob в проекте, укажите только это разрешение в файле build.gradle compile ‘com.google.android.gms: play-services-ads: 7.5.0’, если есть какие-либо другие разъяснения, см. Ссылку https: //developers.google.com/android/guides/setup

Я не думаю, что это на самом деле. Я протестировал его на новом устройстве Gingerbread с заводской перезагрузкой с новой учетной записью Gmail, и я мог получать сообщения GCM просто отлично без этого разрешения. Таким образом, документация НЕПРАВИЛЬНАЯ.

GET_ACCOUNT – проверить, синхронизирует ли пользователь аккаунт Google на мобильном устройстве и генерирует значение ключа для каждого пользователя (каждый аккаунт Google). Это необходимо, если на устройстве установлена ​​версия ниже Android 4.0.4.

Источник

Подробнее о реализации поддержки GCM на Android-клиенте

Тут уже писали об GCM. Для чего эта статья?

Верно, писали. Буквально на этой неделе на Хабре была опубликована статья GCM – новый сервис Push-уведомлений от Google (если вы еще не знакомы с Google Cloud Messaging for Android, то советую прочитать её перед прочтением этой статьи, тем более в моей статье не описываются процесс создания проекта с GCM). Не знаю использовал её автор GCM в реальном приложении или нет, а вот мне пришлось. Поэтому-то я и хочу описать кое-что, чему не нашлось места в предыдущей статье, или что не было объяснено. Добавить это все комментарием в предыдущую статью, боюсь, невыполнимая задача.

Необходимые разрешения

  • Тут всё ясно, без доступа к интернету GCM нам и не нужен
  • GCM требует доступ к Google-аккаунту
    По этому поводу в прошлой теме даже был спор, но никто из участников не решил посмотреть в исходных код. Документация этот момент умалчивает, и лишь говорит, что возможно вы захотите захватить PowerManager.WakeLock . Так вот, если вы пользуетесь стандартной библиотекой GCM, то вам придется добавлять такое разрешение.

Вкратце механизм работы такой: наше приложение подписывается на получение широковещательных запросов. При получении запроса мы устанавливаем полученному Intent’у имя класса ( setClassName() ) в имя нашего сервиса расширяющего GCMBaseIntentService , затем захватываем WakeLock с флагом PowerManager.PARTIAL_WAKE_LOCK (не даем уснуть только CPU, экран и прочее спит спокойно), запускаем Intent как сервис, по выходу из onHandleIntent сервиса освобождаем WakeLock .

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

Создаем свое собственное разрешение и сами его запрашиваем. Это мы делаем для того, чтобы никто кроме нас не смог получать наши сообщения.

Примечание: если вы выставили minSdkVersion в 16 или выше (Jelly Bean и последующие версии), то это разрешение вам не нужно (года через 2, надеюсь, можно будет опускать).

  • Собственно разрешение на регистрацию в GCM и получение сообщений.
  • Изменяется ли код регистрации (registationId)?

    Рассмотрим код из приложения-примера:

    Вроде бы других условий нет. Так что, не изменяется? Если перейти по этой ссылке: http://developer.android.com/intl/ru/guide/google/gcm/adv.html#reg-state, можно узнать что все-таки может измениться. Таких случая два:

    1. Обновление программы
    2. Создание резервной копии и восстановление из неё

    Для проверки на обновление программы я написал небольшой класс-помощник. Может быть кому-нибудь пригодится:

    Источник

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

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

      com.android.vending.CHECK_LICENSE
      Проверка лицензии приложения через Google Play.

    com.android.vending.BILLING
    Покупки в приложении.

    com.google.android.googleapps.permission.GOOGLE_AUTH.YouTubeUser
    Просмотр имени пользователя указанного в Youtube аккаунте устройства.

    com.google.android.c2dm.permission.RECEIVE
    Прием уведомлений, использует интернет.

    android.permission-group.NETWORK
    Доступ к интернету.

    com.google.android.youtube.permission.C2D_MESSAGE
    Прием push-сообщений или уведомлений, использует интернет.

    com.google.android.googleapps.permission.GOOGLE_AUTH
    Доступ ко всем сохраненным в системе аккаунтам Google (только имя пользователя), а также e-mail адресам.

    android.permission-group.ACCOUNTS
    Доступ ко всем сохраненным в системе аккаунтам (только имя пользователя), а также e-mail адресам.

    com.google.android.googleapps.permission.GOOGLE_AUTH.youtube
    Приложение использует YouTube, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.talk
    Приложение использует Google Talk, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.ig
    Приложение использует iGoogle, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.androidsecure
    Приложение использует Android services, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.news
    Приложение использует Google News, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.print
    Приложение использует Google Book Search, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.writely
    Приложение использует Google Docs, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.sierrasandbox
    Приложение использует Google Checkout Sandbox, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.health
    Приложение использует Google Health, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.speech
    Приложение использует Google Voice Search, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.sierraqa
    Приложение использует Google Checkout QA, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.blogger
    Приложение использует сервис Google Blogger, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.knol
    Приложение использует Knol, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.goanna_mobile
    Приложение использует Google Task Services, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.groups2
    Приложение использует Google Groups, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.sierra
    Приложение использует Google Checkout (предположительно, для совершения покупок), используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.notebook
    Приложение использует Google Notebook, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.speechpersonalization
    Приложение использует Голосовой ввод (или запись звука), используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.wise
    Приложение использует Google Spreadsheets, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.lh2
    Приложение использует Picasa Web Albums, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.doraemon
    Приложение использует Google Catalog, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.ah
    Приложение использует Google App Engine, используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.orkut
    Приложение использует Orkut (уже не существующая соц.сеть от Google), используя аккаунт сохраненный на устройстве.

    com.google.android.googleapps.permission.GOOGLE_AUTH.android
    Приложение использует Android Services, используя аккаунт сохраненный на устройстве.

    com.android.voicemail.permission.READ_WRITE_ALL_VOICEMAIL
    Полный доступ ко всем голосовым сообщениям на устройстве, а так же их получение.

    com.google.android.gms.permission.ACTIVITY_RECOGNITION
    Позволяет приложение отсылать информацию о вашей активности (маршрут, скорость, дата).

    android.permission.RETRIEVE_WINDOW_CONTENT
    Разрешает приложению отсылать всю введенную на страницах информацию на сторонний сервер (Может использоваться злоумышленниками для хищения паролей!).

    android.permission-group.PERSONAL_INFO
    Прямой доступ к вашей информации, хранящейся в устройстве (Используется для сбора статистики разработчиками).

    android.permission.ACCESS_CHECKIN_PROPERTIES
    Позволяет приложению читать и записывать данные в базу данных аккаунта Google (Используется только в google приложениях).

    android.permission.ACCESS_COARSE_LOCATION
    Приложение определяет примерное местоположение (город) устройства по координатам сети и Wi-fi точкам.

    android.permission.ACCESS_FINE_LOCATION
    Приложение определяет точное местоположение устройства по координатам сети и Wi-fi точкам.

    android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
    Приложение определяет местоположение любыми доступными способами, включая GPS.

    android.permission.ACCESS_MOCK_LOCATION
    Позволяет приложение использовать фиктивное местоположение.

    android.permission.ACCESS_NETWORK_STATE
    Доступ к информации о сети.

    android.permission.ACCESS_SURFACE_FLINGER
    Разрешение приложению использовать SurfaceFlinger инструментарий (используется только приложениями Google!).

    android.permission.ACCESS_WIFI_STATE
    Доступ к информации о сети Wi-Fi.

    android.permission.ACCOUNT_MANAGER
    Позволяет приложению считывать идентификатор аккаунта устройства (используется только приложениями Google!).

    com.android.voicemail.permission.ADD_VOICEMAIL
    Приложение может добавлять голосовые вызовы в систему.

    android.permission.AUTHENTICATE_ACCOUNTS
    Приложение может создавать и редактировать аккаунт Google, в том числе и создавать новые.

    android.permission.BATTERY_STATS
    Приложение собирает статистику о заряде батареи.

    android.permission.BIND_ACCESSIBILITY_SERVICE
    Проверка привязки устройства к приложению.

    android.permission.BIND_APPWIDGET
    Доступ к управлению встроенными виджетами Google.

    android.permission.BIND_DEVICE_ADMIN
    Must be required by device administration receiver, to ensure that only the system can interact with it.

    android.permission.BIND_DREAM_SERVICE
    Must be required by an DreamService, to ensure that only the system can bind to it.

    android.permission.BIND_INPUT_METHOD
    Must be required by an InputMethodService, to ensure that only the system can bind to it.

    android.permission.BIND_NFC_SERVICE
    Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.

    android.permission.BIND_NOTIFICATION_LISTENER_SERVICE
    Must be required by an NotificationListenerService, to ensure that only the system can bind to it.

    android.permission.BIND_PRINT_SERVICE
    Must be required by a PrintService, to ensure that only the system can bind to it.

    android.permission.BIND_REMOTEVIEWS
    Must be required by a RemoteViewsService, to ensure that only the system can bind to it.

    android.permission.BIND_TEXT_SERVICE
    Must be required by a TextService (e.g. SpellCheckerService) to ensure that only the system can bind to it.

    android.permission.BIND_TV_INPUT
    Must be required by a TvInputService to ensure that only the system can bind to it.

    android.permission.BIND_VOICE_INTERACTION
    Must be required by a VoiceInteractionService, to ensure that only the system can bind to it.

    android.permission.BIND_VPN_SERVICE
    Must be required by a VpnService, to ensure that only the system can bind to it.

    android.permission.BIND_WALLPAPER
    Must be required by a WallpaperService, to ensure that only the system can bind to it.

    android.permission.BLUETOOTH
    Доступ к Bluetooth сопряженным устройствам.

    android.permission.BLUETOOTH_ADMIN
    Доступ к Bluetooth, с возможностью поиска и сопряжения устройств.

    android.permission.BLUETOOTH_PRIVILEGED
    Доступ к Bluetooth сопряжению, без участия пользователя, открывает доступ приложению к приему вызовов и смс (используется только приложениями Google!).

    android.permission.BODY_SENSORS
    Доступ к сенсорам устройства: для считывания пульса, давления итп.

    android.permission.BRICK
    Позволяет приложению включать/выключать устройство (опасно!)

    android.permission.BROADCAST_PACKAGE_REMOVED
    После удаления оповещает разработчика об этом.

    android.permission.BROADCAST_SMS
    Позволяет приложению отображать информацию об SMS получателе.

    android.permission.BROADCAST_STICKY
    Allows an application to broadcast sticky intents. These are broadcasts whose data is held by the system after being finished, so that clients can quickly retrieve that data without having to wait for the next broadcast.

    android.permission.BROADCAST_WAP_PUSH
    Позволяет уведомлять о получении WAP-PUSH сообщений или уведомлений.

    android.permission.CALL_PHONE
    Позволяет приложению совершать телефонные звонки, в обход стандартной звонилке.

    android.permission.CALL_PRIVILEGED
    Позволяет приложению совершать любые телефонные звонки (включая SOS, экстренные службы итп), в обход стандартной звонилке.

    android.permission.CAMERA
    Доступ к камере.

    android.permission.CAPTURE_AUDIO_OUTPUT
    Позволяет приложению записывать звук.

    android.permission.CAPTURE_SECURE_VIDEO_OUTPUT
    Разрешение совершать захват видео в безопасном режиме.

    android.permission.CAPTURE_VIDEO_OUTPUT
    Разрешение совершать захват видео.

    android.permission.CHANGE_COMPONENT_ENABLED_STATE
    Изменение компонентов других приложений.

    android.permission.CHANGE_CONFIGURATION
    Изменение конфигурации устройства, например геолокация.

    android.permission.CHANGE_NETWORK_STATE
    Изменение режимов работы сети.

    android.permission.CHANGE_WIFI_MULTICAST_STATE
    Включает режим Wi-fi Multicast, что позволяет обнаруживать устройства в одной сети, даже если они подключены к роутеру через кабель.

    android.permission.CHANGE_WIFI_STATE
    Изменение режимов работы wi-fi.

    android.permission.CLEAR_APP_CACHE
    Очистка кэша установленных на устройстве приложений.

    android.permission.CLEAR_APP_USER_DATA
    Очистка пользовательских данных и настроек (опасно!).

    android.permission.CONTROL_LOCATION_UPDATES
    Включение/отключение приема дополнительной информации с Radio сигнала.

    android.permission.DELETE_CACHE_FILES
    Разрешение приложению удалять свой кэш.

    android.permission.DELETE_PACKAGES
    Позволяет приложению удалять пакеты данных.

    android.permission.DEVICE_POWER
    Разрешение на low-level доступ к управлению питанием устройства.

    android.permission.DIAGNOSTIC
    Доступ к ресурсам RW диагностики.

    android.permission.DISABLE_KEYGUARD
    Разрешение на замену стандартного экрана блокировки (локскрин).

    android.permission.DUMP
    Разрешение на получение дампа системных сервисов.

    android.permission.EXPAND_STATUS_BAR
    Разрешение на уменьшение/увеличение статус-бара.

    android.permission.FACTORY_TEST
    Разрешение к Factory Test режиму.

    android.permission.FLASHLIGHT
    Разрешение на использование вспышки.

    android.permission.FORCE_BACK
    Разрешение на фоновую активность.

    android.permission.GET_ACCOUNTS
    Доступ к списку аккаунтов в Accounts Services.

    android.permission.GET_PACKAGE_SIZE
    Разрешение на определение размера приложений.

    android.permission.GET_TASKS
    Разрешение на считывание информации о всех запущенных приложениях.

    android.permission.GET_TOP_ACTIVITY_INFO
    Разрешение на считывание информации о активных приложениях.

    android.permission.GLOBAL_SEARCH
    Разрешение на наличие приложения в глобальном поиске.

    android.permission.HARDWARE_TEST
    Доступ к периферийным устройствам, для теста железа устройства.

    android.permission.INJECT_EVENTS
    Позволяет приложению имитировать мышь, трекбол, клавиатуру итп.

    android.permission.INSTALL_LOCATION_PROVIDER
    Allows an application to install a location provider into the Location Manager. Not for use by third-party applications.

  • android.permission.INSTALL_PACKAGES
    Разрешение на установку других приложений
  • com.android.launcher.permission.INSTALL_SHORTCUT
    Разрешение на создание ярлыка на рабочем столе.

    android.permission.INTERNAL_SYSTEM_WINDOW
    Разрешение на открытие системных окон.

    android.permission.INTERNET
    Разрешает приложению изменять IP адрес и номер порта для присоединения к интернету.

    android.permission.KILL_BACKGROUND_PROCESSES
    Разрешает приложению закрывать фоновые процессы.

    android.permission.LOCATION_HARDWARE
    Разрешение на использование навигационных API, для взаимодействия с модулем GPS.

    android.permission.MANAGE_ACCOUNTS
    Разрешение приложению изменять список аккаунтов в AccountManager.

    android.permission.MANAGE_APP_TOKENS
    Разрешение приложению создавать/удалять/изменять токены приложений (используется для авторизации).

    android.permission.MANAGE_DOCUMENTS
    Разрешение редактировать документы, обычно запрашивается текстовыми редакторами.

    android.permission.MEDIA_CONTENT_CONTROL
    Разрешает управлять воспроизведением аудио/видео потока.

    android.permission.MODIFY_AUDIO_SETTINGS
    Разрешение на управление глобальными настройками звука.

    android.permission.MODIFY_PHONE_STATE
    Разрешает приложению контроль над компонентами устройства: включать/выключать устройство и компоненты, управление уведомлениями (используется только в официальных приложениях производителей устройств).

    android.permission.MOUNT_FORMAT_FILESYSTEMS
    Разрешает форматировать файловую систему

    android.permission.MOUNT_UNMOUNT_FILESYSTEMS
    Разрешает перенос файловой системы на съемный носитель.

    android.permission.NFC
    Разрешает включение и выключение устройства, а также другие операции через NFC.

    android.permission.PERSISTENT_ACTIVITY
    Разрешает резервировать оперативную память под приложение, позволяя ему работать в фоновом режиме.

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

    android.permission.READ_CALENDAR
    Разрешение на доступ к календарю.

    android.permission.READ_CALL_LOG
    Разрешает чтение журнала звонков.

    android.permission.READ_CONTACTS
    Разрешает чтение пользовательских данных из книги контактов.

    android.permission.READ_EXTERNAL_STORAGE
    Разрешает приложению чтение из внешней памяти.

    android.permission.READ_FRAME_BUFFER
    Разрешает приложению делать скриншоты и дает доступ к Frame Bufer.

    com.android.browser.permission.READ_HISTORY_BOOKMARKS
    Разрешает чтение истории браузера и закладок.

    android.permission.READ_INPUT_STATE
    Разрешает определение языка клавиатуры и доступные раскладки языков.

    android.permission.READ_LOGS
    Разрешает чтение low-level системный лог файлов (Это приложение может получить доступ к вашим личным данным).

    android.permission.READ_PHONE_STATE
    Разрешает чтение информации о настройках и компонентах устройства.

    android.permission.READ_PROFILE
    Разрешает чтение профиля пользователя (используется для релевантного показа рекламы).

    android.permission.READ_SMS
    Разрешает чтение СМС сообщений.

    android.permission.READ_SOCIAL_STREAM
    Разрешает чтение социальной активности.

    android.permission.READ_SYNC_SETTINGS
    Разрешает чтение настроек синхронизации.

    android.permission.READ_SYNC_STATS
    Разрешает чтение истории синхронизаций.

    android.permission.READ_USER_DICTIONARY
    Разрешает чтение пользовательского словаря.

    com.android.voicemail.permission.READ_VOICEMAIL
    Разрешает чтение голосовой почты.

    android.permission.REBOOT
    Разрешает перезагрузку устройства.

    android.permission.ACTION_BOOT_COMPLETED
    Разрешает автозапуск или иные действия связанные с приложением и его деятельностью сразу после запуска/перезагрузки устройства.

    android.permission.RECEIVE_BOOT_COMPLETED
    Разрешает считывание прогресса запуска устройства, может замедлять работу системы.

    android.permission.RECEIVE_MMS
    Разрешает чтение и обработку MMS сообщений.

    android.permission.RECEIVE_SMS
    Разрешает чтение и обработку SMS сообщений.

    android.permission.RECEIVE_WAP_PUSH
    Разрешает чтение и обработку WAP сообщений.

    android.permission.RECORD_AUDIO
    Разрешает приложение записывать звук с микрофона.

    android.permission.REORDER_TASKS
    Разрешает приложению менять z-order (порядок наложения элементов) в менеджере задач.

    android.permission.RESTART_PACKAGES
    Разрешает приложению закрывать фоновые процессы.

    android.permission.SEND_RESPOND_VIA_MESSAGE
    Разрешает принимать и отправлять СМС сообщения с кодами приложений/подтверждений без действий пользователя.

    android.permission.SEND_SMS
    Разрешает приложению отсылать СМС сообщения.

    android.permission.SET_ACTIVITY_WATCHER
    Позволяет приложению отслеживать и контролировать глобальную загрузку приложений и процессов, при запуске устройства.

    com.android.alarm.permission.SET_ALARM
    Разрешает приложению устанавливать будильник или таймер.

    android.permission.SET_ALWAYS_FINISH
    Разрешает приложению решать выгружать фоновые процессы или нет.

    android.permission.SET_ANIMATION_SCALE
    Разрешает изменение анимации оболочки.

    android.permission.SET_DEBUG_APP
    Разрешает конфигурирование устройства для дебаггинга.

    android.permission.SET_ORIENTATION
    Разрешает чтение текущего положения экрана (вертикальный/горизонтальный).

    android.permission.SET_POINTER_SPEED
    Разрешает чтение скорости кликов по экрану, а также скорости скролла страниц.

    android.permission.SET_PROCESS_LIMIT
    Разрешает приложению назначать максимальное количество активных процессов.

    android.permission.SET_TIME
    Разрешает приложению менять и устанавливать системное время.

    android.permission.SET_TIME_ZONE
    Разрешает приложению менять часовой пояс.

    android.permission.SET_WALLPAPER
    Разрешает приложению менять обои.

    android.permission.SET_WALLPAPER_HINTS
    Разрешает приложение использование эффектов на обоях (используется лаунчерами).

    android.permission.SIGNAL_PERSISTENT_PROCESSES
    Разрешает приложению игнорировать защиту от остановки фоновых процессов.

    android.permission.STATUS_BAR
    Разрешает полный контроль над статус-баром.

    android.permission.SUBSCRIBED_FEEDS_READ
    Разрешает чтение ленты подписок.

    android.permission.SUBSCRIBED_FEEDS_WRITE
    Разрешает изменение ленты подписок.

    android.permission.SYSTEM_ALERT_WINDOW
    Разрешает вызов поверх всех приложений системных окон и уведомлений от приложения.

    android.permission.TRANSMIT_IR
    Разрешает использование ИК порта.

    com.android.launcher.permission.UNINSTALL_SHORTCUT
    Разрешает удалять ярлыки в оболочке.

    android.permission.UPDATE_DEVICE_STATS
    Разрешает вносить обновления в статистику устройства.

    android.permission.USE_CREDENTIALS
    Разрешает запрос токена авторизации.

    android.permission.USE_SIP
    Разрешает использование SIP протокола передачи данных.

    android.permission.VIBRATE
    Разрешает доступ к вибратору устройства.

    android.permission.WAKE_LOCK
    Разрешает приложению работать даже после выключения экрана.

    android.permission.WRITE_APN_SETTINGS
    Разрешает приложению изменять APN точку доступа.

    android.permission.WRITE_CALENDAR
    Разрешает только запись событий в календарь.

    android.permission.WRITE_CALL_LOG
    Разрешает только запись в историю звонков.

    android.permission.WRITE_CONTACTS
    Разрешает только запись в книгу контактов.

    android.permission.WRITE_EXTERNAL_STORAGE
    Разрешает запись на карту памяти (используется в приложениях с кэшем).

    com.google.android.providers.gsf.permission.READ_GSERVICES
    Разрешает чтению конфигурации Google Services.

    android.permission.WRITE_GSERVICES
    Разрешает изменение карты Google Services.

    com.android.browser.permission.WRITE_HISTORY_BOOKMARKS
    Разрешает только запись в историю браузера и закладки.

    android.permission.WRITE_PROFILE
    Разрешает только запись в профиль пользователя.

    android.permission.WRITE_SECURE_SETTINGS
    Разрешает изменять настройки безопасности системы.

    android.permission.WRITE_SETTINGS
    Разрешает приложению изменять системные настройки.

    android.permission.WRITE_SMS
    Разрешает приложению писать/присылать SMS сообщения

    android.permission.WRITE_SOCIAL_STREAM
    Разрешает только запись в ленту новостей.

    android.permission.WRITE_SYNC_SETTINGS
    Разрешает запись в настройки синхронизации.

    android.permission.WRITE_USER_DICTIONARY
    Разрешает добавлять новые слова в пользовательский словарь.

    com.android.voicemail.permission.WRITE_VOICEMAIL
    Разрешает приложению изменять или удалять голосовые сообщения.

  • android.permission.ACCESS_SUPERUSER
    Разрешает приложению запрос на проверку наличия Root-прав
  • Чтобы управлять разрешениями в данной версии ОС, вам потребуется программа AppOps.

    Источник

    Читайте также:  Как поставить свой звук блокировки экрана андроид
    Оцените статью