Подтвердить что ты не робот

Какое приложение для Android потребует разрешения android.permission.READ_PHONE_STATE?

Я видел, что некоторые приложения для Android на моем телефоне требуют разрешения android.permission.READ_PHONE_STATE. Я не знаю, могу ли я им доверять. Я знаю, что это разрешение предоставит приложению доступ ко многим сведениям. Меня особенно интересует, какая функциональность в приложении для Android обычно требует информации типа DeviceId, SimSerialNumber, SubscriberId?

4b9b3361

Ответ 1

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

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

Смотрите также: https://android.stackexchange.com/questions/605/why-do-so-many-applications-require-permission-to-read-the-phone-state-and-ident

Ответ 2

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

Ответ 3

Недавно я обнаружил, что для некоторых устройств вы должны добавить android.permission.READ_PHONE_STATE, если ваше приложение отправляет SMS. Вероятно, в некоторых случаях SmsManager пытается получить некоторую информацию о состоянии телефона перед отправкой смс.

Например, получение исключения для HUAWEI GRA-L09:

java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10174 nor current process has android.permission.READ_PHONE_STATE.
at android.os.Parcel.readException(Parcel.java:1543)
at android.os.Parcel.readException(Parcel.java:1496)
at com.android.internal.telephony.ISms$Stub$Proxy.s! endMultipartTextForSubscriber(ISms.java:1224)
at android.telephony.SmsManager.sendMultipartTextMessage(SmsManager.java:404)