android查漏补缺(8)Android广播不同种类介绍

按照是否有序分类

1,普通广播(无序广播)

广播按照逻辑上同一时刻(实际可能被CPU按照抢占式任务无序发给注册模块)发送给注册模块

#发送方法:
Context.sendBroadcast()

2,有序广播

广播按照注册模块的优先级有序的发给注册模块,优先级越高,值越大,就越被优先接收

#发送方法:
Context.sendOrderedBroadcast()

#优先级判断方法(priority="999"表示最高优先级):
  
              
                  
              
   

按照是否动态分类

1,静态广播

静态广播直接被注册到androidmanifest.xml中,特点是即使app没有启动,广播接收器也能接收到广播消息。

静态广播:
  
              
                  
              
  

2,动态广播

在其他组件的生命周期中动态创建广播接收器,特点是广播接收器也有生命周期,需要进行创建和销毁,应用推出后无法再收到广播。最后动态注册的广播需要使用隐式intent进行发送,静态注册的显示隐式都可以。

 //注册广播  
IntentFilter counterActionFilter = new IntentFilter(NEW_LIFEFORM_DETECTED);  
receiver = new UnSortBroadcastReceiver();  
registerReceiver(receiver, counterActionFilter);  
 

intent分类

1,显示intent

Intent intent = new Intent(this,ActNextActivity.class)//创建一个目标确定的意图

2,隐式intent

//设置意图动作为准备拨号
intent.setAction(Intent.ACTION_DIAL);
Uri uri = Uri.parse("tel:"+phoneNo);
intent.setData(uri);
startActivity(intent);

你可能感兴趣的:(基础查漏补缺,android)