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

}

}

}

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

时间: 2017-06-18

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

  1. Android 7.1 增加屏幕边缘滑动事件(手势滑动)两种方式(Back,Home,Menu功能键) 免开启无障碍功能

    目前公司在做新项目开发,项目目前是不让有Back,Home,Menu实体按键,这就导致了一个问题,点开其它应用无法返回到桌面, 当然些问题对于做开发的我们肯定是难不到的,如果我们开发碰到这问题肯定是a ...

  2. 动态注册广播接收者,屏幕锁定Android

    动态注册广播接收者,屏幕锁定Android 1.AndroidManifest.xml <?xml version="1.0" encoding="utf-8&qu ...

  3. [Android Pro] 有关Broadcast作为内部类时注册的一些问题

    很经常Broadcast都会写成一个Activity或者Service的内部类.这时候的注册和普通有点小区别. 有两种情况 1.假如是再Manifest文件里面静态注册的话,需要注意. ex: < ...

  4. Android:按键响应方式第一种onClick属性,第二种方法接口类,第三种方式匿名内部类,第四种方式Activity

    一.在xml 中设置按键的onClick 绑定的函数 新建一个工程 然后在相关的页面添加一个Button 运行一下 实际上,现在这个按键一,我们去运行的时候,他是没有任何的反馈的,我们按完它,他没有任 ...

  5. android注册的模板下载地址,Android --LoginActivity模板登录

    Android Studio使用自带LoginActivity模板,制作登录界面 登录界面功能: 1.记住表单账户密码,并自动登录 //获得sp实例对象 sp = this.getSharedPref ...

  6. android解析XML总结(SAX、Pull、Dom三种方式)

    在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式. 今天解析的xml示例(channels.xml)如下: 1 <?xml v ...

  7. Android Studio开发:简单的登录注册界面

    Android开发:编写简单的登录界面与注册界面 1.登录界面布局 1.1主布局的布局方式是垂直布局,第一个TextView控件在顶部居中布置,显示"用户登录 "字样 <Te ...

  8. android中的定时任务一般有两种机制,android 定时任务

    使用timertask进行定时任务 首先创建TimerTask: class SynchroTimerTask extends TimerTask { @Override public void ru ...

  9. Android 使用OpenCV的三种方式(Android Studio)

    from: http://blog.csdn.net/sbsujjbcy/article/details/49520791 其实最早接触OpenCV是很久很久之前的事了,大概在2013年的5,6月份, ...

最新文章

  1. 边缘数据中心2024年市场规模将超过130亿美元
  2. php 判断http还是https,以及获得当前url的方法
  3. Android核心程序之SystemUI - (一)开篇
  4. 第十九节:Asp.Net Core WebApi知识总结(一)
  5. 简易电子钟c语言程序,(最新整理)基于51单片机的电子钟C语言程序
  6. VB讲课笔记14:二级VB知识点总结
  7. OpenGLCG技术之Render To Texture
  8. 统计学中p值计算公式_统计学中P值的计算!
  9. Aqua Comms携手Ciena 测试海底光缆网络150Gbps波长传输
  10. springboot基于微信小程序的运动软件前端的设计与实现毕业设计源码100932
  11. 极大值,极小值算法以及α-β剪枝技术
  12. GAN网络详解(从零入门)
  13. 超实用后台UI模板有这些就够了!(一)
  14. linux内核中linux中readl()和writel()函数---用于读写寄存器
  15. python使用selenium模块实现火车票的自动购买
  16. 后勤管理系统—服务台管理功能
  17. 玩转现代家居风格 高冷却处处透着温馨
  18. NX/UG二次开发—调用NX内部函数实现功能汇总(部分只有标题)
  19. 人狗鸡米过河问题matlab代码
  20. 阿里云同地域不同账号ECS内网互通

热门文章

  1. 《汇编语言》课程设计
  2. 网易云api及 asrsea 加密参数文档
  3. 小程序入门到精通(三):学小程序必备技术基础-flex布局
  4. 一些css3简单的练习
  5. 算法分析与设计「二」递归算法
  6. TensorFlow2.0(十二)--实现简单RNN与LSTM网络
  7. JS Addition
  8. 7-41 大数的乘法 (10 分)
  9. php时间函数单字母,ThinkPhp单字母函数
  10. C语言给定3x3矩阵旋转输出