READ_PRIVILEGED_PHONE_STATE и READ_PHONE_STATE - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть приложение, использующее этот метод: getLine1Number из TelephonyManager

Согласно документации Android, для этого метода требуется разрешение READ_PHONE_STATE во время выполнения. Когда я вызываю этот API без разрешения, происходит сбой моего приложения. Тем не менее, если я предоставлю это приложение с разрешением подписи READ_PRIVILEGED_PHONE_STATE и без предоставления разрешения READ_PHONE_STATE, API работает, и приложение не создает sh.

Почему это так?

1 Ответ

0 голосов
/ 21 апреля 2020

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

Если не включить эти разрешения в Манифест, это приведет к ошибке «Разрешение не предоставлено», и приложение взломает sh, поскольку ваш исходный код, вероятно, не имеет логики c, чтобы справиться с этим.

...