这篇文章主要介绍了机器人使用注册接收者注册广播接收机案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
android.context.ContextWrapper.registerReceiver
公共意向注册接收者(广播接收器接收器,IntentFilter过滤器)
注册一个要在主活动线程中运行的广播接收机.在主应用程序线程中,将使用与过滤器匹配的任何广播意图来调用接收器。
Parameters
接收器处理广播的广播接收器。
过滤器选择要接收的意向广播。
Returns
找到的第一个与过滤器匹配的粘性意图,如果没有,则为零.
定义变量一
私有SDStateMonitorReceiver//SDcard状态监测
私有日志任务接收器;
定义变量二
私有静态字符串MONITOR _ LOG _ SIZE _ ACTION=' MONITOR _ LOG _ SIZE ';//日志文件监测行为
私有静态字符串SWITCH _ LOG _ FILE _ ACTION=' SWITCH _ LOG _ FILE _ ACTION ';//切换日志文件行为
定义变量三
private final int SD卡_ TYPE=0;//当前的日志记录类型为存储在南达科他州卡下面
private final int MEMORY _ TYPE=1;//当前的日志记录类型为存储在内存中
private int CURR _ LOG _ TYPE=SD card _ TYPE;//当前的日志记录类型
定义方法register
私有空的寄存器(){
意向过滤器sdCarMonitorFilter=新意向过滤器();
sdcarmonitorfilter。addaction(Intent .动作_媒体_挂载);
sdcarmonitorfilter。addaction(Intent .动作_媒体_卸载);
sdcarmonitorfilter。adddata方案(“文件”);
sdstaterereceiver=new SDStateMonitorReceiver();
注册接收器(sdstateereceiver,sdCarMonitorFilter);
意向过滤器logTaskFilter=新意向过滤器();
logtaskfilter。addaction(监视器_日志_大小_动作);
logtaskfilter。addaction(SWITCH _ LOG _ FILE _ ACTION);
log task receiver=new log task receiver();
注册接收者(logtaskreiver,logTaskFilter);
}
定义BroadcastReceiver的子类SDStateMonitorReceiver
/**
* 监控南达科他州卡状态
*/
SDStateMonitorReceiver类扩展广播接收器{
公共接收时无效(上下文语境,意图意图){
如果(意图ACTION _ MEDIA _ unmounted。等于(意图。get ACTION()){//存储卡被卸载
if(CURR _ LOG _ TYPE==SD card _ TYPE){
Log.d(标签,' SDcar已卸载');
CURR _ LOG _ TYPE=内存类型
新的LogCollectorThread().start();
}
}else{ //存储卡被挂载
if(CURR _ LOG _ TYPE==MEMORY _ TYPE){
Log.d(标签,' SDcar已安装');
CURR _ LOG _ TYPE=SDCARD _ TYPE
新的LogCollectorThread().start();
}
}
}
}
定义BroadcastReceiver子类LogTaskReceiver
/**
* 日志任务接收
* 切换日志,监控日志大小
*/
LogTaskReceiver类扩展了广播接收器{
公共接收时无效(上下文语境,意图意图){
字符串动作=意图。get action();
如果(开关_日志_文件_操作。等于(操作)){
新的LogCollectorThread().start();
} else if(MONITOR _ LOG _ SIZE _ action。等于(动作)){
检查logsize();
}
}
}
在onCreate方法中调用注册方法。
在onDestroy方法中执行语句
注销接收者(sdstatereceiver);
注销接收者(logtask接收者);
到此这篇关于机器人使用注册接收者注册广播接收机案例详解的文章就介绍到这了,更多相关机器人使用注册接收者注册广播接收机内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。