如果我有一个名为MyService的服务,它看起来像这样,则该服务的BroadcastReceiver将从“ sendData”方法中接收其自己的广播吗?

我基本上要问的是,如果我将广播接收者的IntentFilter Constants.SERVICE与Intent Action用于向我的活动发送广播,是否会出现问题?

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与广播意图具有相同的IntentFilter,则该服务可以接收自己的广播。

关于android - 服务可以接收自己的广播吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35276656/

10-14 17:27