首页 > Android 为什么并没有发送广播,但是注册的广播接受器就是可以接受广播呢?

Android 为什么并没有发送广播,但是注册的广播接受器就是可以接受广播呢?

我定义了一个接受器,并且注册了

1,MyReceiver.class

public class MyReceiver  extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {   //bug原因在于广播接收器,在未发送广播的时候也会接受

}

2,androidManifest.xml注册接收器

 <receiver android:name=".MyReceiver">
            <intent-filter>
                <action android:name="ELITOR_CLOCK" />
            </intent-filter>
        </receiver>

但是我并没有写发送广播的代码,它就不停的接受广播,请问这是怎么回事?


广播是系统发的,其action为ELITOR_CLOCK
这个广播的发出有可能是自己的主程序写的alarmManager,也有可能是某个程序写的
如果只希望接受自己主程序的广播,可以通过设定android:exported来实现


这个广播不是由你来发的,是由系统的AlarmManager来发。

【热门文章】
【热门文章】