Блокировать входящие звонки против системного сервиса
Я написал приложение, которое имеет возможность повесить телефонные звонки, когда они получены. Для этого я использую диспетчер телефонии и требуется это разрешение: android.permission.MODIFY_PHONE_STATE
Однако это разрешение делает мое приложение системным приложением, и поэтому я не смогу разместить его в магазине игр позже. Но я видел приложения в магазине игр, которые успешно блокируют входящие звонки (например, "Черный список звонков"). Интересно, кто-нибудь знает, какой API используют эти приложения для блокировки входящего звонка, а также для того, чтобы эти приложения были в магазине игр?
Благодарю.
1 ответ
Вам нужно использовать класс Broadcastreceiver. а также необходимо добавить эту строку в манифест, чтобы получить разрешение.
<uses-permission android:name="android.permission.READ_PHONE_STATE">
следить за этим. http://www.tutorialforandroid.com/2009/01/get-phone-state-when-someone-is-calling_22.html
Удостовериться TelephonyManager.CALL_STATE_RINGING
это только входящий звонок. Вы не можете определить состояние исходящего вызова, звонит ли он или ответил. для исходящих существует только два состояния:
TelephonyManager.CALL_STATE_IDLE
&
TelephonyManager.CALL_STATE_OFFHOOK