接收和发送广播
2011-05-23 17:38
239 查看
intent 对象不仅可以启动应用程序内部或者其他应用程序的Activity, 还可以发送广播动作(Broadcast)。Broadcast Action 和 Activity Action 一样,既可以由系统进行广播,也可以由自己的程序进行广播。利用广播,我们可以实现特殊的功能,例如,在开机的时候自动启动一个应用程序,当接受到短信自动提示或保存短记录等。实际上,在手机中发生这样的事件时,android 系统都会向整个系统发送相应的Broadcast Action,如果应用程序对这个广播感兴趣的话,就可以接收它 ,来完成相应的功能。
1 接收系统广播:
(1)编写一个继承自android.content.BroadcastReceiver的类,并重写其中的onReceive()方法。如果应用程序接收到系统发送的广播,就会调用
OnReciver()方法。
(2)在AndroidManifest.xml文件中使用<receiver>标签来指定第一步编写的接收系统广播的类可以接收哪一个Broadcast Action .
下面是一个简单的DEMO
实现一个一旦开机就自动启动的程序。
要实现开机启动功能,需要接收如下系统广播:android.intent.action.BOOT_COMPLETED;
下面我们按照上面的步骤实现接收广播。
public class startupReceiver extends BroadcastReceiver {
@Override
public void onReceive( contentxt ctx , Intent intent ) {
Intent mainIntent = new Intent (ctx ,Main.class);
mainIntent.setFlags(Intent.FlLG_ACTIVITY_NEW_TASK);
context.startActivity(mainIntent);
}
}
在onreceive()方法中启动本例的Main,用来表明应用程序已经启动。
(2)在AndroidManifest.xml 文件中配置StartupReceiver类。代码如下:
<receiver android:name = "StartupReceiver">
<intent-filter>
<!---指定要接收的ACTION->
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<!--指定action 的种类,该种类表示android 系统启动后第一运行的应用程序-->
<category android:name ="android.intent.category.HOME">
</intent-filter>
</receiver>
1 接收系统广播:
(1)编写一个继承自android.content.BroadcastReceiver的类,并重写其中的onReceive()方法。如果应用程序接收到系统发送的广播,就会调用
OnReciver()方法。
(2)在AndroidManifest.xml文件中使用<receiver>标签来指定第一步编写的接收系统广播的类可以接收哪一个Broadcast Action .
下面是一个简单的DEMO
实现一个一旦开机就自动启动的程序。
要实现开机启动功能,需要接收如下系统广播:android.intent.action.BOOT_COMPLETED;
下面我们按照上面的步骤实现接收广播。
public class startupReceiver extends BroadcastReceiver {
@Override
public void onReceive( contentxt ctx , Intent intent ) {
Intent mainIntent = new Intent (ctx ,Main.class);
mainIntent.setFlags(Intent.FlLG_ACTIVITY_NEW_TASK);
context.startActivity(mainIntent);
}
}
在onreceive()方法中启动本例的Main,用来表明应用程序已经启动。
(2)在AndroidManifest.xml 文件中配置StartupReceiver类。代码如下:
<receiver android:name = "StartupReceiver">
<intent-filter>
<!---指定要接收的ACTION->
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<!--指定action 的种类,该种类表示android 系统启动后第一运行的应用程序-->
<category android:name ="android.intent.category.HOME">
</intent-filter>
</receiver>
相关文章推荐
- 自定义广播发送、接收
- 安卓短信功能全解:调用系统短信功能发送短信、彩信,使用SmsManager发送短信,并监听发送短信的投递情况,使用广播接收器监听接收的短信。
- C#UDP的多路广播组的发送和接收
- Android 系列 4.7发送/接收广播消息
- Android 广播的发送与接收
- C#UDP的多路广播组的发送和接收
- Android学习之发送及接收广播及本地广播
- 非常实用的android动态注册广播并发送以及接收实例
- C#发送和接收广播
- android安全问题(七) 抢先接收广播 - 内因篇之广播发送流程
- 发送和接收无序广播
- Linux系统下UDP发送和接收广播消息小例子
- 发送UDP广播并接收数据
- Android UDP广播 客户端循环发送与接收
- Java网络编程笔记--实现UDP广播发送与接收
- Android安全问题 抢先接收广播 - 内因篇之广播发送流程
- MIUI7,Android版本5.0.2,一个程序发送自定义广播,另一个程序没有接收到
- Android广播的发送与接收一例
- 发送广播和接收广播
- android简单的广播发送与接收