Android 8.0 问题:发送标准广播无法接收到

在看《第一行代码》的过程中发现发送标准广播不成功,在上一小节学习的时候手机出现静态注册开机启动不成功,但是在虚拟机上可以成功,虚拟机的系统是android9.0的,按理说这个可以手机8.0也可以,当时没有解决,认为是手机的问题(最后也没有去解决),主要讲发送标准广播的问题,由于书本上是基于7.0的,而手机是8.0的所以出现了改变,改动方案如下:

7.0:

  Intent intent=new Intent("com.example.chenx.broadcasttest.MY_BROADCAST");
  sendBroadcast(intent);

8.0:

  Intent intent=new Intent("com.example.chenx.broadcasttest.MY_BROADCAST");
  intent.setComponent(new ComponentName("com.example.chenx.broadcasttest"
                          ,"com.example.chenx.broadcasttest.MyBroadcastReceiver"));
  sendBroadcast(intent);

加入了   intent.setComponent(new ComponentName

("com.example.chenx.broadcasttest","com.example.chenx.broadcasttest.MyBroadcastReceiver"));

参数一:包名

参数二:广播类的路径

在看书的过程中发现我的包名和书本上的是不同的,我的:com.example.chenx.broadcasttest,书上的没有.chenx这个,经过测试,按照自己的写才是可行的,只能这样大致认定。

发布了73 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/daguniang123/article/details/87886004