android - 服务可以接收自己的广播吗?

标签 android android-intent broadcastreceiver

如果我有一个名为 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 Soomrorupesh jain 所提到的,这显然不会成为问题,因为该服务无法接收自己的广播。

编辑

实际上,在试验之后,我发现如果 BroadcastReceiver 具有与广播 Intent 相同的 IntentFilter,则该服务可以接收自己的广播。

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

相关文章:

Android - 监听变量变化并根据变化做某事的正确方法?

Android NDK 无法编译示例应用程序

android - 应用程序可以检测到文件(图像)已从设备复制吗?

Android 在 webview 中屏蔽广告

android - Openstreetmap Overlay Osmdroid 示例

Android - 从多点裁剪图像

安卓:Intent.getBooleanArrayExtra(key) 返回 null

Android:在文件中保存一个条目而不是更多数据

java - 应用程序启动后崩溃

android - 检查当前是否显示 XML 布局?