如果我有一个名为 MyService 的服务,它看起来像这样,服务的 BroadcastReceiver 是否会从“sendData”方法接收自己的广播??
我基本上想问的是,如果我使用广播接收器的相同 IntentFilter Constants.SERVICE
作为 Intent Action 向我的 Activity 发送广播,是否会出现问题?
MyService.java
public class PlayerService extends Service {
private FFmpegMediaPlayer mp;
private BroadcastReceiver receiver;
@Override
public void onCreate() {
super.onCreate();
...
registerReceiver(receiver, new IntentFilter(Constants.SERVICE));
...
}
...
public void sendData() {
Intent intent = new Intent(Constants.SERVICE);
sendBroadcast(intent);
}
}
最佳答案
正如 Adil Soomro 和 rupesh jain 所提到的,这显然不会成为问题,因为该服务无法接收自己的广播。
编辑
实际上,在试验之后,我发现如果 BroadcastReceiver
具有与广播 Intent 相同的 IntentFilter
,则该服务可以接收自己的广播。
关于android - 服务可以接收自己的广播吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276656/