动态注册和静态注册的区别

动态注册的广播会受Activity的生命周期的影响, 当Activity销毁的时候,广播就失效了。

  而静态注册的广播,即使Activity销毁了,仍然可以收到广播。更牛掰的是即使杀死进程,仍然可以收到广播。

       动态注册的广播要想一直监听可以注册到server里面区监听

public class UpdateService extends Service{


    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onCreate() {
        Log.d("wuyu","UpdateService onCreate ");
        super.onCreate();
        //startForeground(1,new Notification());
        ScreenReceiver sOnBroadcastReciver=new ScreenReceiver();
        IntentFilter recevierFilter=new IntentFilter();
        recevierFilter.addAction(Intent.ACTION_SCREEN_ON);
        recevierFilter.addAction(Intent.ACTION_SCREEN_OFF);
        registerReceiver(sOnBroadcastReciver, recevierFilter);

    }

  在Android中,有一些action是不支持静态注册的:

    android.intent.action.SCREEN_ON

    android.intent.action.SCREEN_OFF

    android.intent.action.BATTERY_CHANGED

    android.intent.action.CONFIGURATION_CHANGED

    android.intent.action.TIME_TICK

你可能感兴趣的:(动态注册和静态注册的区别)