Регистрация приемника вещания от другого приемника вещания в Android
В настоящее время у меня есть Broadcast Receiver для прослушивания событий состояний вызова. Я зарегистрировал приемник вещания вAndroidManifest.xml
как показано ниже.
<receiver android:name=".api.PhoneCallReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
Когда приложение запускается, этот приемник вещания регистрируется для прослушивания событий состояний вызова и в соответствии сCALL_STATE
Я управляю своим заявлением.
Работает нормально, пока телефон не перезагрузится. После перезагрузки телефона этот приемник перестает работать. Я знаю, я должен зарегистрировать приемник для прослушиванияBOOT_COMPLETED
событие системы.
То, что я сделал, как показано ниже:
<receiver android:name=".api.PhoneCallReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Я также дал разрешение на получениеBOOT_COMPLETED
системное событие.
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
но как-то это не работает. Я думаю о создании нового приемника вещания, который слушаетBOOT_COMPLETED
только событие, но проблема в том, что
Итак, мои вопросы: как я могу запустить этот приемник прослушивания телефонных звонков при поступлении любого входящего вызова?
Как я могу зарегистрировать Broadcast Receiver от другого Broadcast Receiver
Нужно ли переносить код существующего приемника вещания в сервис, чтобы я мог запустить сервис из Boot Receiver?
Любая помощь будет оценена.