Android中的静态系统广播和动态系统广播

Android4.4:


静态广播:

可在AndroidManifest.xml中定义,不需程序启动即可接收,可用作自动启动程序


Intent.ACTION_BOOT_COMPLETED //系统启动完成

Intent.ACTION_MEDIA_MOUNTED //SD卡挂载

Intent.ACTION_MEDIA_UNMOUNTED //SD卡卸载

Intent.ACTION_USER_PRESENT//解除锁屏

ConnectivityManager.CONNECTIVITY_ACTION//网络状态变化


            
                
                
            

            
                
                
                
                
            


            
                
		
            


public class StaticBroadcastReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		// TODO Auto-generated method stub
		if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
			Log.d(TAG, "onReceive boot: ");	
			Intent new_intent = new Intent(context,TestLauncher.class);
			//popup the activity
			new_intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
			context.startActivity(new_intent);
		}else if(intent.getAction().equals(Intent.ACTION_USER_PRESENT)) {
			Log.d(TAG, "onReceive ACTION_USER_PRESENT: ");
		}
	}

}

动态广播:

只能在代码中注册,程序适应系统变化做操作,程序运行状态才能接收到

Intent.ACTION_SCREEN_ON //屏幕亮

Intent.ACTION_SCREEN_OFF //屏幕灭

Intent.ACTION_TIME_TICK //时间变化  每分钟一次

	    IntentFilter filter = new IntentFilter();
	    filter.addAction(Intent.ACTION_SCREEN_ON);
	    filter.addAction(Intent.ACTION_SCREEN_OFF);
	    filter.addAction(Intent.ACTION_TIME_TICK);
	    registerReceiver(new DynamicBroadcastReceiver(), filter);



你可能感兴趣的:(Android中的静态系统广播和动态系统广播)