android注册广播两种方式,Android 注册广播的两种方式对比
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 注册广播的两种方式对比相关推荐
- Android 7.1 增加屏幕边缘滑动事件(手势滑动)两种方式(Back,Home,Menu功能键) 免开启无障碍功能
目前公司在做新项目开发,项目目前是不让有Back,Home,Menu实体按键,这就导致了一个问题,点开其它应用无法返回到桌面, 当然些问题对于做开发的我们肯定是难不到的,如果我们开发碰到这问题肯定是a ...
- 动态注册广播接收者,屏幕锁定Android
动态注册广播接收者,屏幕锁定Android 1.AndroidManifest.xml <?xml version="1.0" encoding="utf-8&qu ...
- [Android Pro] 有关Broadcast作为内部类时注册的一些问题
很经常Broadcast都会写成一个Activity或者Service的内部类.这时候的注册和普通有点小区别. 有两种情况 1.假如是再Manifest文件里面静态注册的话,需要注意. ex: < ...
- Android:按键响应方式第一种onClick属性,第二种方法接口类,第三种方式匿名内部类,第四种方式Activity
一.在xml 中设置按键的onClick 绑定的函数 新建一个工程 然后在相关的页面添加一个Button 运行一下 实际上,现在这个按键一,我们去运行的时候,他是没有任何的反馈的,我们按完它,他没有任 ...
- android注册的模板下载地址,Android --LoginActivity模板登录
Android Studio使用自带LoginActivity模板,制作登录界面 登录界面功能: 1.记住表单账户密码,并自动登录 //获得sp实例对象 sp = this.getSharedPref ...
- android解析XML总结(SAX、Pull、Dom三种方式)
在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式. 今天解析的xml示例(channels.xml)如下: 1 <?xml v ...
- Android Studio开发:简单的登录注册界面
Android开发:编写简单的登录界面与注册界面 1.登录界面布局 1.1主布局的布局方式是垂直布局,第一个TextView控件在顶部居中布置,显示"用户登录 "字样 <Te ...
- android中的定时任务一般有两种机制,android 定时任务
使用timertask进行定时任务 首先创建TimerTask: class SynchroTimerTask extends TimerTask { @Override public void ru ...
- Android 使用OpenCV的三种方式(Android Studio)
from: http://blog.csdn.net/sbsujjbcy/article/details/49520791 其实最早接触OpenCV是很久很久之前的事了,大概在2013年的5,6月份, ...
最新文章
- 边缘数据中心2024年市场规模将超过130亿美元
- php 判断http还是https,以及获得当前url的方法
- Android核心程序之SystemUI - (一)开篇
- 第十九节:Asp.Net Core WebApi知识总结(一)
- 简易电子钟c语言程序,(最新整理)基于51单片机的电子钟C语言程序
- VB讲课笔记14:二级VB知识点总结
- OpenGLCG技术之Render To Texture
- 统计学中p值计算公式_统计学中P值的计算!
- Aqua Comms携手Ciena 测试海底光缆网络150Gbps波长传输
- springboot基于微信小程序的运动软件前端的设计与实现毕业设计源码100932
- 极大值,极小值算法以及α-β剪枝技术
- GAN网络详解(从零入门)
- 超实用后台UI模板有这些就够了!(一)
- linux内核中linux中readl()和writel()函数---用于读写寄存器
- python使用selenium模块实现火车票的自动购买
- 后勤管理系统—服务台管理功能
- 玩转现代家居风格 高冷却处处透着温馨
- NX/UG二次开发—调用NX内部函数实现功能汇总(部分只有标题)
- 人狗鸡米过河问题matlab代码
- 阿里云同地域不同账号ECS内网互通