一.Broadcast Receive为广播接收器,它和事件处理机制类似,只不过事件的处理机制是程序组件级别的,而广播处理机制是系统级别的。
二.事件的广播比价简单,构建Intent对象,调用sendBroadcast()方法将广播发出。事件的接收是通过定义一个继承BroadcastReceiver类来实现,继承该类后覆盖其onReceiver方法,并在该方法中相应事件。
MainActivity:
Intent intent=new Intent();
intent.setAction(MY_ACTION);
intent.putExtra("msg","请回复");
sendBroadcast(intent);
MyReceiver:
public calss MyReceiver extends BroadcastReceiver{
public void onReceiver(Context ctx,intent intent){
//从Intent中获得信息
String msg=intent.getString("msg");
Toast.makeText(ctx,msg,Toast.LENGTH_LONG).show()
}
}
三.系统广播事件的使用
1. 这些广播是系统自动发出,我们直接定义事件接收器进行接收。
通过配置文件注册
MyReceiver2:
public class MyReceiver2 extends BroadcastReceiver{
public void onReceiver( Context context,Intent intent){
Log.i("my_tag","BOOT_COMPLETED")
}
}
AndroidMainifest.xml:
<receiver android:name="MyReceiver2">
<intent-filter>
<android android:name="android.intent.android.BOOT_COMPLETED">
</intent-filter>
</receiver>
通过代码注册:
IntentFilter filter=new IntentFilter();//实例化
//实例化Receiver
MyReceiver2=new MyReceiver2();
//注册Receiver
registerReceiver(r,filter);
//注销Receiver
unregisterReceiver(r);
四.Notification和NotificationManager的使用
Broadcast Receiver组件并没有提供可视化的界面来显示广播信息。这里我们可以使用Notification和Notification Manager来实现可视化的信息的界面,通过使用它们 ,我们可以显示广播信息的内容,图标及震动信息。
五.AlarmManager的使用
现在的手机普遍都会有一个闹钟功能,如果使用Android来实现一个闹钟,可以使用AlarmManager来实现。AndroidManager提供了一种系统级的提示服务,允许你安排在将来的某个时间执行一个任务,AlarmManager对象一般不直接实例化,而是通过Context.getSystemService(Context.ALARM_SERVICE)方法获得。
Android 广播事件处理Broadcast Receiver
最新推荐文章于 2022-08-11 14:14:11 发布