在看《第一行代码》的过程中发现发送标准广播不成功,在上一小节学习的时候手机出现静态注册开机启动不成功,但是在虚拟机上可以成功,虚拟机的系统是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这个,经过测试,按照自己的写才是可行的,只能这样大致认定。