В настоящее время у меня есть широковещательный приемник для прослушивания событий состояний вызовов. Я зарегистрировал 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
, но проблема в том, что
Итак, мои вопросы: как я могу запустить этот приемник вещания прослушивателя телефонных звонков при поступлении любого входящего вызова?
Как я могу зарегистрировать широковещательный приемник с другого широковещательного приемника
Нужно ли мне переносить код моего существующего широковещательного приемника в службу, чтобы я мог запустить службу из загрузочного приемника?
Любая помощь будет оценена.
Context
, переданном в методonReceive()
другогоReceiver
. И вам не нужно. Вы зарегистрировали его в манифесте. Вам не нужно регистрировать его динамически. Он уже запущен, просто зарегистрировавшись в манифесте. Вот почему он работает до перезагрузки. - person Mike M.   schedule 13.06.2016Activity
просто не работает? Я не знаю о каких-либо изменениях в 6, которые обязательно вызвали бы описанное поведение, но я проверю это, когда у меня будет шанс. - person Mike M.   schedule 13.06.2016