Почему так много приложений требуют разрешения для чтения состояния телефона и личности? В частности:
Phone calls
read phone state and identity
Например, Quickpedia является порталом Википедии, но хочет получить доступ к телефону. Чем это объясняется?
permissions
privacy
Нам Г ВУ
источник
источник
Ответы:
Это позволяет приложению считывать уникальный идентификатор (идентификатор телефона с именем IMEI ), связанный с вашим телефоном.
Поэтому он может помочь с защитой от копирования или попыткой отследить количество пользователей.
источник
Существует еще одна причина, чем уникальный идентификатор. Я предполагаю, что половина приложений вообще не имеет доступа к этим значениям. Проблема в том, что для более низкой версии до Android 1.5 это разрешение не существует. Каждый может получить доступ к этим значениям без запроса чего-либо.
Поэтому, если вы создаете приложение, совместимое с 1.5, это разрешение будет автоматически добавлено, чтобы эмулировать более низкий уровень безопасности Android 1.5, потому что в большинстве случаев вы можете игнорировать это разрешение, поскольку это, как правило, просто проблема совместимости.
источник
Причина в том, что Android 1.5 и более ранние версии не требовали, чтобы приложение специально запрашивало эти разрешения и автоматически предоставляло их. Начиная с Android 1.6, эти разрешения должны быть специально запрошены приложением. Однако если вы укажете, что ваше приложение может работать на устройствах с Android 1.5 и ниже, тогда это разрешение будет добавлено в приложение по умолчанию, и рынок покажет это разрешение в соответствии с запросом приложения.
Итак, в итоге, приложение может не иметь доступа к вашему «состоянию телефона и личности», но если разработчик указал, что его / ее приложение может работать на устройствах с 1,5 или менее, то это разрешение будет показано.
источник
Этот вопрос беспокоит меня довольно давно. Так что теперь, наконец, я решил докопаться до сути вопроса.
Playstore есть приложение под названием permission.READ_PHONE_STATE , который запрашивает в
READ_PHONE_STATE
качестве единственного разрешения, и ничего не делает , чем печать всех данных , которые он может получить доступ с или без его использования. Я установил его на свой LG Optimus 4X , имея рут-версию на Android 4.0.3, и отозвал разрешение с помощью LBE. Результаты довольно интересные, как показывают следующие скриншоты:Информация, собранная с разрешения приложения. READ_PHONE_STATE (щелкните изображения, чтобы увеличить варианты)
Как вы можете легко видеть, даже некоторая информация, которую разработчик, хотя и был недоступен без разрешения, была в свободном доступе: мой номер почтового ящика (примечание: да, он правильный; с моим провайдером это ярлык при наборе номера с вашего собственного устройства, поэтому я могу свободно отображать его;) В конце первого скриншота вы видите:
CALL_STATE_IDLE
, Таким образом, нет телефонных звонков, входящих, исходящих или в процессе. Никакое приложение не нуждается в этом разрешении, чтобы «фонировать» себя на входящих звонках.Можно даже увидеть, активны ли мобильные данные (
DATA_DISCONNECTED
когда я делал скриншоты, я был в WiFi, как вы можете видеть в панели уведомлений), в какой стране вы находитесь, ваш провайдер (включая некоторые технические данные о нем), у вас есть SIM-карта или вы находитесь в роуминге.Единственное , что не доступен , следовательно , идентифицируют данные: IMEI, SIMID, IMSI и свой номер телефона.
Вывод: это разрешение необходимо только для целей идентификации, и ничего больше.
Зачем тогда так много приложений?
Вероятности именно в этом порядке, ИМХО.
1 примечание к сообщению Дэна в чате :
Поскольку пользователю трудно сказать, для чего приложение использует IMEI, вам следует сначала попросить разработчика объяснить.
2 Другой разработчик только что указал мне на небольшую разницу: хотя разрешение на чтение текущего состояния вызова не требуется (как я уже указывал), может потребоваться регистрация слушателя , чтобы получать уведомления об изменениях вызова. статус (см .: Обнаружение входящих и исходящих телефонных звонков на Android ). Хотя, кажется, есть способы обрабатывать это автоматически, когда системные вызовы
onPause
, это может не всегда подходить: подумайте о своем будильнике. Возможно, вы не захотите, чтобы это автоматически прекращалось при входящем звонке, особенно если в вашем профиле отключена громкость звонка.3 Снова исправление от Дэна : вы получаете дополнительное разрешение по умолчанию, только если «целевая» версия вашего приложения - 1.5. Если вы нацелены на более позднюю версию, но ваша минимальная версия - 1.5, разрешение не будет добавлено автоматически.
Обновления
READ_PHONE_STATE
на то, что необходимо для: а) обнаружения входящих вызовов и связанных с ними (телефонии), а также второго разрешения для идентификационных данных (IMEI, IMSI и т. Д.). Открыт 11/2011, до сих пор не работал. Звезда это если интересно :)READ_PHONE_STATE
разрешения, как , например , отметил Арно Welzel . Поскольку входящий телефонный звонок вызовет звонок, это событие может быть использовано сonAudioFocusChange()
, что не требует какого-либо специального разрешения: если это вызвано этим, приложение может проверить CallState (опять же, без какого-либо специального разрешения), чтобы увидеть, есть ли входящий звонок.источник
onPause()
было то, что мы обсуждали в чате для этого! Но использованиеonAudioFocusChange()
может быть даже менее затратным (тогда небольшой опрос может быть проигнорирован).Многие издатели рекламы используют это разрешение для получения идентификатора телефона для всех видов отслеживания. Существуют и другие способы получения уникального идентификатора, но, к сожалению, в старых версиях Android они содержат ошибки (история более сложная, см., Например, https://stackoverflow.com/questions/2785485/is-there-a-unique-android- идентификатор устройства или http://android-developers.blogspot.com/2011/03/identifying-app-installations.html для более полной истории).
Таким образом, если приложение использует рекламные объявления, есть большая вероятность, что само приложение на самом деле не нуждается в разрешении READ_PHONE_STATE, только в поставщике рекламы.
источник