Activity 发 → Service 收 和 Activity 收 ← Service 发 两者都可以使用以下代码
接收端
@Override
protected void onCreate(...) {
...
//注册广播接收器
IntentFilter intentFilter = new IntentFilter();
//设置接收的Action 可以理解为key 或者 case 可以为中文字符串但需要与发送时一致
intentFilter.addAction("ActionName");
registerReceiver(broadcastReceiver, intentFilter);
}
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context c, Intent i) {
//获取广播意图中的对应信息
System.out.println(i.getStringExtra("msg"));
}
};
发送端
Intent intent = new Intent();
intent.setAction("ActionName");
intent.putExtra("msg", "隐秘消息");
sendBroadcast(intent);