Согласно документации , поскольку API 28, разрешение android.permission.READ_PHONE_STATE
больше не будет возвращать номер телефона, в сочетании или только с android.permission.CALL_LOG
.
Я использую BroadcastReceiver
для получения номера телефона
<receiver
android:name=".call.CallStateBroadcastReceiver"
android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
У меня установлено это приложение в течение 5-6 месяцев на моем телефоне с Android 9 (API 28) более года, но все же я смог получитьномер телефона у меня получен. Несколько дней назад я обновил плагин Gradle и теперь не могу получить номер телефона вызывающего абонента, и я не знаю, почему он работал до сих пор.
Может кто-нибудь объяснить, почему я все еще могу получить номер телефона, когда у меня был Android 9? Может ли быть залатанный недостаток безопасности, который был недавно исправлен? Я получаю обновления безопасности ежемесячно.