1.常驻型广播
常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到,
他的注册方式就是在你的应用程序中的AndroidManifast.xml进行注册。通常说这种方式是静态注册
下面是配置例子
<!-- 桌面 -->
<receiver android:name=".widget.DeskWidgeWeather">
<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_weather_provider" />
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
<action android:name="action_weather"/>
</intent-filter>
</receiver>
2.非常驻型广播
当应用程序结束了,广播自然就没有了,比如你在activity中的onCreate或者onResume中注册广播接收器
在onDestory中卸载广播接收器。这样你的广播接收器就一个非常驻型的了。这种也叫动态注册。
比如写一个监听SDcard状态的广播接收器
SdcardStateChanageReceiver sdcardStateReceiver;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_MEDIA_REMOVED);
filter.addAction(Intent.ACTION_MEDIA_EJECT);
filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
filter.addDataScheme("file");
sdcardStateReceiver = new SdcardStateChanageReceiver();
registerReceiver(sdcardStateReceiver,filter);
}
@Override
protected void onDestroy(){
unregisterReceiver(sdcardStateReceiver);
}
class SdcardStateChanageReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent)
{
String state=android.os.Environment.getExternalStorageState();
System.out.println("SDCard 发生改变! 状态:"+state);
//checkSDCard();
}
public void checkSDCard(){
String state=android.os.Environment.getExternalStorageState();
System.out.println(state);
if(state.equals(android.os.Environment.MEDIA_REMOVED ) || state .equals(android.os.Environment.MEDIA_UNMOUNTED)){
System.out.println("SDCard 已卸载!");
}
}
}
分享到:
相关推荐
用两个工程展示了,广播的两种注册方式以及区别。其中一个工程负责用两种方式注册广播,另一个工程则发起广播,注意在应用还没启动前,无论是以哪种形式注册的广播,都是接受不到的
本例中是使用aidl Android Interface Definition Language 实现两种方式拦截来电 使用广播监听拦截(其中有动态广播注册和静态广播注册)和phoneManager类监听手机状态拦截
为了区分广播注册的两种方式,特地写了一个静态广播的例子,监听应用程序网络状态,当前无网络的时候,在应用程序窗口提示信息“当前网络不可用,请检查网络是否已经连接..”,否则不提示
Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManifast.xml进行注册。...
android BroadcastReceiver两种注册方式:1.在AndroidManifest.xml中注册 2.在Activity中注册。两种注册BroadcastReceiver方法的比较: 现在我们了解了两种注册BroadcastReceiver的方法之后,需要考虑一下这两种方法...
详细介绍广播的用法,代码有注释,简明易懂,实现广播的两种形式,有序广播和无序广播;详细介绍广播的用法,代码有注释,简明易懂,实现广播的两种形式,有序广播和无序广播;详细介绍广播的用法,代码有注释,简明...
Android 下两种广播机制方法,已通知几点会议和闹钟为例
以线程和服务两种方式实现网络下载,发送广播通知进度条和通知栏更新进度。
主要介绍了Android注册广播的两种方法,结合实例形式分析了Android注册广播的方法、步骤与相关注意事项,需要的朋友可以参考下
Android UDP发送广播获取服务器IP,我这个是一个项目获取两种自己定义的端口的服务器的ip,注释很清楚,简单易懂
Android广播监听机制的两种实现方法.pdf
今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式。 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在...
注册广播事件:注册 方式有两种,一种是静态注册,就是在AndroidManifest.xml文件中定义,注册的广播接 收器必须要继承BroadcastReceiver;另一种是动态注册,是在程序中使用Context.reg isterReceiver注册,注册的...
下面聊聊自定义广播的两种方式 静态 静态注册是直接在AndroidManifest里面先进行注册,添加receiter,其中需要写入你的Broadcast Receiver的名字,我这里是MyReceiver,也可以写其他的名字,ena
BroadcastReceiver有两种注册方式,静态注册和动态注册 C. 静态注册需要在Mainfest.xml中配置 D. 动态注册需要在应用退出时候接触广播的注册。 3. 下面关于BroadcastReceiver错误的是( B): A. ...
广播接收器注册一共有两种形式 : 静态注册和动态注册. 两者及其接收广播的区别: 1.动态注册的广播 永远要快于 静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低。 2.动态注册广播不是 ...
概念 广播分标准广播和有序广播两种形式。 概念 标准广播源 接收器A 接收器B 接收器C …… 概念 有序广播源 接收器A 接收器B 接收器C …… 概念 广播接收器的定义 1.定义接收器类,即继承BroadcastReceiver的类 2....
在不同应用程序之间交互数据(跨进程通讯),在Android SDK中提供了4种用于跨进程通讯的方式。 这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity...
android广播的两种形式,虽然很简单,但还是把它贴出来吧,以供加深记忆