安卓怎么跨程序发送广播?

新手上路,请多包涵

我按照《第一行代码(第二版)》学习使用广播,发现其中有些内容已经过时了。发送广播仅靠下面两行代码是不够的


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

阅读 2.1k
1 个回答

intent.setpackage
加上这一行试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题