Android 注册广播的两种方式对比

1.常驻型广播

常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到,

他的注册方式就是在你的应用程序中的AndroidManifast.xml进行注册。通常说这种方式是静态注册

下面是配置例子

lt;/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 已卸载!");

}

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

android两种广播注册区别,Android 注册广播的两种方式对比相关推荐

  1. Android studio导入第三方库的各种方法和eclipse的导入方式对比

    1.1.Eclipse IDE 短信SDK使用项目依赖的方式完成集成.具体步骤如下: 1.复制"SMSSDK"目录到您自己项目的同一目录下,并将其导入到Eclipse中(查看视频教 ...

  2. java 三种错误类型 区别_请列举至少三种在java语言中发生“严重错误”的情况...

    [简答题]自已编写一个自定义非整数异常类,来处理一个异常 [填空题]捕获异常时,可以把catch捕获的异常对象( ),使上层try-catch结构继续处理该异常事件;也可以把异常对象转换为其它异常对象 ...

  3. Android各个版本API的区别

    Android各个版本API的区别 Android 1.5 API变更概要: 1.UI framework · Framework for easier background/UI thread in ...

  4. Android面试之百题经典Android答案——cookie,session,JNI,AIDL,Binder,ClassLoader,AMS,WMS,PWS,热更新,插件化,Hook,dex

    一.Activity生命周期 实际面试中可能会以实例形式出现,比如:启动A,再从A启动B,请描述各生命周期 二.Activity的启动模式 Activity的启动模式有4种,分别是Standard.S ...

  5. Android注册BroadcastReceiver的两种办法及其区别

    前两篇文章中,对于注册广播机制全部使用的是 AndroidMainFest.xml 注册的,同时,我们还可以在代码中实现注册,这里分别记录了两种方法的使用 1.使用 XML 注册 <receiv ...

  6. android注册广播两种方式,Android 注册广播的两种方式对比

    Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...

  7. android 注册两次广播,android 4.4 动态注册+静态注册电话短信广播后收到两次onReceive回调的问题...

    在android4.4手机里,先静态注册一次广播,以后在代码里动态注册一次该广播,会同时收到两次onReceive回调,我在htc 802d手机上测试(使用官方升级版,升级到4.4)测试android ...

  8. android 注册动态广播 注销_动态注册和注销BroadcastReceiver

    Android广播机制 一.Android广播机制介绍 广播机制最大的特点就是发送方并不关心接收方是否接到数据,也不关心接收方是如何处理数据的. Android中广播的是操作系统中产生的各种各样的事件 ...

  9. android 广播反注册后,BroadcastReceiver注册、使用及其权限

    首先声明一个类,此类继承自BroadcastReceiver类,处理Android当中发出的广播事件: public class SMSReceiver extends BroadcastReceiv ...

最新文章

  1. C++ stringstream 简化数据类型转换
  2. 缓存淘汰算法之LRU
  3. 【移动通信】多址技术和调制技术
  4. 台式计算机 启天 m4600,联想启天M4600-N000:高效的焕新之选——台式机
  5. rest api如何创建_创建一个安全的Spring REST API
  6. C# where()筛选方法
  7. 世界以痛吻我,我要报之以歌
  8. 【信息学奥赛一本通】题解目录
  9. keras-yolo3-master使用记录
  10. 韩语在线翻译图片识别_最强文字识别APP
  11. Uni-app 小程序 App 的广告变现之路:Banner 信息流广告
  12. select去重 sqlserver_SQLSERVER 去重
  13. vue 使用 vue-awesome-swiper(swiper)解决方法
  14. 贝叶斯网络经典matlab源代码解析
  15. Base64 编码整理
  16. scrollViewDidEndDragging和scrollViewDidEndDecelerating有什么区别呢
  17. TPC-H和TPC-DS
  18. CPU FPU DSP MPU的概念介绍
  19. Cindy中的Filter
  20. 【Android Gradle 插件】ProductFlavor 配置 ( consumerProguardFiles 配置 | dimension 配置 )

热门文章

  1. iOS变声语音项目总结
  2. Vue的事件处理,点击事件
  3. 想要开展副业,却无从下手,要怎么办?
  4. 一步一步,手把手带你用最简单的方法,在linux上安装anaconda
  5. Springboot整合redis配置详解
  6. mysql 数字用什么类型_MySQL数字类型中的三种常用种类
  7. python去除excle中单元格的空格(pandas)
  8. SPOJ 1811 LCS,SPOJ 1812 LCS2【SAM裸题,clj的ppt很清楚
  9. 计算机广告制作要英语,广告电脑制作,advertisement coputer production,音标,读音,翻译,英文例句,英语词典...
  10. coreldraw做生化标志_CorelDraw绘制炫酷的中文立体字海报