android app中的服务为啥接收不到广播
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android app中的服务为啥接收不到广播相关的知识,希望对你有一定的参考价值。
在Activity 的oncreat中开启服务startservice。然后在Activity的onstart中给service发送一个广播,但是service总是在activity启动完成后才开始创建,所以总是收不到广播,请问如何解决
你用静态的方式注册广播吧什么情况下都可以收到广播了
如果你在service里动态注册广播,是不是你的service已经运行完了与你的广播解除关系才收不到广播呢?
那你在onStart里startservice,再发广播不就行了.追问
是的,service运行完了也接受不到广播。为啥要在onstart里satartservice,oncreat不是比onstart先执行吗
追答oncreat只执行一次,onstart每次回到界面都会执行
你最好用Log,将你的service的生命周期打印出来,看看广播是不是被解除了
还不行你留下Q吧,我帮你看看
非常感谢这朋友的耐心解答。虽然还是不清楚为什么service要等到activity启动完之后再启动。但是startService(intent)的时候就把地址放在intent里是个很好的办法。再次感谢!如果其他朋友遇到相似的问题,可以试试这个方法。
追答嗯嗯
参考技术A 你用静态的方式注册广播吧什么情况下都可以收到广播了
如果你在service里动态注册广播,是不是你的service已经运行完了与你的广播解除关系才收不到广播呢?
那你在onStart里startservice,再发广播不就行了.
以上是关于android app中的服务为啥接收不到广播的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅解决Android8.0发送自定义广播接收不到的问题:PackageManager扫描静态注册广播接收器拿到ResolveInfo,指定包名和完整路径,然后发送自定义广播(代