我按照《第一行代码(第二版)》学习使用广播,发现其中有些内容已经过时了。发送广播仅靠下面两行代码是不够的
Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
sendBroadcast(intent);
还要加一行
Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
intent.setPackage(getPackageName());// 增加的一行
sendBroadcast(intent);
或者
Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
// 新加的一行
intent.setComponent(new ComponentName(getPackageName(),"com.example.broadcasttest.MyBroadcastReceiver"));
sendBroadcast(intent);
我以这种方式在程序A中发送广播,但是在程序B中无论以动态还是静态的方式来注册接收器都无法接收到,请问如何解决呢?
环境:
Android Studio 4.1.2
sdk:Android11.0
intent.setpackage
加上这一行试试