2017-01-13 5 views
1

У меня проблема с Android BroadcastReceiver. Это первый случай, когда вы задаете вопросы о переполнении стека, и мой английский плохой. Поэтому я снова опишу вопрос на китайском языке!Android-приложение, которое запускает услугу только в фоновом режиме, не может получать широковещательное сообщение

Я хочу, чтобы мое приложение может автоматически запустить, когда андроид система starts.First я зарегистрировать BroadcasetReceiver, который может получать BOOT_COMPLETED сообщений в статическом пути (в AndroidManifest.xml) .Это BroadcastReceiver работает хорошо. BroadcastReceiver необходимо запустить службу, служба работает все время, и она регистрирует другой BroadcastReceiver, который может получать сообщение CONNECTIVITY_ACTION динамическим способом. Но когда сети меняются, приложение не может получить сообщение CONNECTIVITY_ACTION в HUAWEI pad, только когда приложение начинает основное действие. (Он может хорошо работать в телефоне HUAWEI).

примечание: BroadcastReceiver, который принимает сообщение CONNECTIVITY_ACTION, должен регистрироваться динамическим способом. Потому что приложение должно иногда отменить регистрацию.

(写 了 一个 开机 自动 启动 的 程序, 开机 启动 一个 обслуживание, 这个 услуги 一 启动 就 动态 的 注册 一个 监听 网络 变化 的 BroadcastReceiver, 可是 在 华为 的 колодки 上, 这个 BroadcastReceiver 始终 不能 接收 到 网络 状态 变化的 广播 消息, 除非 启动 主 Деятельность, 但是 华为 手机 没有 这个 问题!)

ответ

0

1, версия Android для вашего телефона, возможно, не такая же, как у вашей клавиатуры; 2, я предлагаю вам регистрировать широковещание в статическом режиме; 3, Вы уверены, что эта услуга началась после перезагрузки? вы можете написать журнал.

 Смежные вопросы

  • Нет связанных вопросов^_^