1、Broadcast Receiver简介
2、Broadcast Receiver接收定时发送的广播
3、自定义广播
一、Broadcast Receiver简介
Intent是一个对动作和行为的抽象描述,负责组件之间程序之间进行消息传递。那么Broadcast Receiver组件就提供了一种把Intent作为一个消息广播出去,由所有对其感兴趣的程序对其作出反应的机制。
可以使用BroadcastReceiver使应用程序代码能够响应外部事件,如电话呼入、数据网络可用等。尽管BroadcastReceiver可以使用NotificationManager来提醒用户一些感兴趣的事件的发生,但是它并不显示用户界面。
BroadcastReceiver在AndroidManifest.xml中完成注册,也可以在代码中通过Context.registerReceiver()方法完成注册。
应用程序也可以通过Context.sendBroadcast()将自身的intent 广播给其他应用程序。
二、Broadcast Receiver接收定时发送的广播
做一个例子,功能是接收定时发送的广播。
1、建立OneShotAlarm.java 内容如下:
- packagecom.example.android.apis.app;
-
importandroid.content.Context;
-
importandroid.content.Intent;
-
importandroid.content.BroadcastReceiver;
-
importandroid.widget.Toast;
-
-
-
importcom.example.android.apis.R;
-
-
publicclassOneShotAlarmextendsBroadcastReceiver
- {
-
@Override
-
publicvoidonReceive(Contextcontext,Intentintent)
- {
- Toast.makeText(context,R.string.one_shot_received,Toast.LENGTH_SHORT).show();
- }
- }
2、在AndroidManifest.xml中注册此Receiver :
- <receiverandroid:name=".app.OneShotAlarm"android:process=":remote"/>
3.在Activity中启动定时发送
-
-
-
-
-
Intentintent=newIntent(AlarmController.this,OneShotAlarm.class);
-
PendingIntentsender=PendingIntent.getBroadcast(AlarmController.this,
-
0,intent,0);
-
- Calendarcalendar=Calendar.getInstance();
- calendar.setTimeInMillis(System.currentTimeMillis());
-
calendar.add(Calendar.SECOND,30);
-
- AlarmManageram=(AlarmManager)getSystemService(ALARM_SERVICE);
- am.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),sender);
三、自定义广播
1.发送广播
-
Intentintent=newIntent().setAction(
-
"myAction").putExtra("myTag",
-
"myData");
-
- sendBroadcast(intent);
2.在AndroidManifest.xml中注册此Receiver
- <receiverandroid:name="MyBroadReciever">
-
<intent-filter="">
-
<actionandroid:name="myAction">
- </action></intent>
- </receiver>
3.编辑Receiver
- packageandroid.example;
-
importandroid.content.BroadcastReceiver;
-
importandroid.content.Context;
-
importandroid.content.Intent;
-
importandroid.media.MediaPlayer;
-
importandroid.util.Log;
-
publicclassMyBroadRecieverextendsBroadcastReceiver{
-
-
@Override
-
publicvoidonReceive(Contextcontext,Intentintent){
-
-
if(intent.getAction().equals("myAction")){
-
Log.v("MyBroadReciever","onReceive");
- }
- }
- }
分享到:
相关推荐
Android新手Broadcast Receiver简单实现 发送广播并实现接收广播
一个关于Android四大组件Broadcast Receiver的小demo
Android四大组件之Broadcast Receiver 作者:白璐 日期:2020/2/23 文章目录Android四大组件之Broadcast Receiver概述广播接收器(Broadcast Receiver)Broadcast Receiver简介Broadcast Receiver的注册一. 静态注册...
Android源代码 包含2个工程: 工程1:Broadcast的Sender,负责发送广播 工程2:Broadcast的Receiver,负责监听广播(2种注册方式:XML和代码动态注册),一旦监听到广播,弹出Activity,并显示广播携带的数据。 本...
该文档是简单的介绍了其android中的广播机制的用法,比较通俗易懂。
第八章_Android广播事件处理Broadcast_Receiver 让你更快了解
android-simple-broadcast-receiver-app 简单的Android Broadcast Receiver使用示例
Android系统中的广播Broadcast,Receiver例子,可以用LogCat察看整个运行的生命周期.MainActivity界面上有两个按钮,分别是Start Counter和Stop Counter按钮,点击前者开始计数,而点击后者则停止计数。
本篇文章主要介绍了Android开发应用中Broadcast Receiver组件详解,想要学习的同学可以了解一下。
NULL 博文链接:https://chaowen0668.iteye.com/blog/1090114
wendang Broadcast_Receiver
在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制。 Braodcast Receiver顾名思义就是广播接收器,它和事件处理机制类似,但是事件处理机制是程序组件级别的(比如:按钮的单击事件),...
第8章 Android广播事件处理 Broadcast Receiver 第9章 Android中的数据存取 第10章 Content Provider 第11章 Android中的多媒体应用 第12章 Android中的图形图像 第13章 Android中的互联网应用 第14章 Android中的...
Broadcast Receiver Android 广播事件处理 Broadcast Receiver,讲述了广播事件处理机制、Notification、NotificationManager和AlarmManager的使用 第9章 Android中的数据存取 Android中的数据存取,讲述了Android...
短信接收器 传入SMS广播接收器-Android示例在此android应用示例中,我们显示了何时广播任何新的SMS事件(当收到新的SMS时)SMS数据。 接收短信到Android广播接收器。 可以从SMS Recibido接收电子邮件。
第八章 android广播事件处理Broadcast Receiver 第九章 android中的数据存取 第十章 Content Provider 第十一章 android中的多媒体应用 第十二章 android中的图形图像 第十三章 android中的互联网应用 第十四章 ...
3 9 2 广播接收器:Broadcast Receiver 3 9 3 服务 Service 3 9 4 内容提供者 Content Provider 第4章 对话框 信息提示和菜单 4 1 对话框 4 2 信息提示 4 2 1 Toast信息框 4 2 2 通知 Notification 4 3 菜单 第5...
android broadcast实例,包括sendBroadcast、 sendOrderedBroadcast、 sendStickyBroadcast三种实现方法
implementation ' com.github.osfunapps:android-lib-broadcast-receiver:v1.0.2 ' } 用法 将库模块BroadcastReceiverLibraryBuilder :: class添加到核心组件(单个)。 例子: @Singleto