1、BroadcastReceiver:
* 广播接收器,处理的是系统级别的;
* 事件的广播机制:构建Intent对象;
* 使用sendBroadcast()方法将广播发送出去;
* 事件的接受者是通过一个继承了BroadcastRecevier的类来实现,覆盖onReceive()方法;
2、android中标准的Broadcast Action来响应系统广播事件:
* ACTION_TIME_CHANGED 时间改变是触发;
* ACTION_BOOT_COMPLETED 系统启动完成后触发;
* ACTION_PACKAGE_ADDED 添加包时触发;
* ACTION_BATTERY_CHANGED 电量低时触发;
* 自定义Action;
3、小贴士:
* 四大组件:activity service broadcastreceiver contentprovider;
* 四大组件的使用都必须进行注册;
* 四大组件之间的交互使用Intent;
4、使用案例:自定义广播的使用!
Activity代码如下:
package com.example.broadcastreceiver;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MaiActivity extends Activity {
private Button broadcastRecevierBtn;
private final String MY_ACTION = "android.com.example.broadcastreceiver.action.MYACTION";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* 获取组件对象 */
broadcastRecevierBtn = (Button) findViewById(R.id.broadcastReceiver);
/* 设置按钮点击事件监听器 */
broadcastRecevierBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO 执行动作:发送广播
/* 构建Intent对象, 实现组件之间的跳转intent:目的 */
/* 已知目的地组件的名称,使用该种方式 */
//Intent intent = new Intent(MaiActivity.this,MyBroadcastReceiver.class);
/* 当跳转到的组件不确定的时候,则:根据动作(action 的值)由系统自动判定跳转到何处 */
Intent intent = new Intent();
/* 设置Intent对象的action属性 */
intent.setAction(MY_ACTION);
/* 为Intent对象添加附加信息 */
intent.putExtra("msg", "发送广播测试成功.....");
/* 发布广播 */
sendBroadcast(intent);
}
});
}
}
广播事件的接受者(一个继承了BroadcastReceiver的类)
package com.example.broadcastreceiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
/* 广播接收器 ,响应发送广播的操作 *//* 接受广播 */
public class MyBroadcastReceiver extends BroadcastReceiver {
/* 覆写该方法,对广播事件执行响应的动作 */
public void onReceive(Context context, Intent intent) {
/* 获取Intent对象中的数据 */
String msg = intent.getStringExtra("msg");
/* */
Toast.makeText(context, msg, 1000).show();
}
}
注册代码:
<!-- 为广播接收组件注册 -->
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.com.example.broadcastreceiver.action.MYACTION" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
效果图:
分享到:
相关推荐
android studio 自定义广播 这次记录的主要是我对广播的一些理解 自定义广播的静态注册与使用 一.静态广播的注册 到AndroidMainfest.xml文件当中进行注册(注意必须得要将receiver写在application的里面) Android:...
android service Notification BroadcastReceiver Intent 安装的服务开机自启动,service定时的打印消息,消息同时显示在通知栏,窗体界面的跳转,自定义控件的开发。系统广播,定时广播,轮询广播等。...
应用程序和Android系统都可以使用Intent发送广播消息。 广播消息的内容可以是与应用程序密切相关的数据信息,也可以是Android的系统信息,例如网络连接变化、电池电量变化、接收到短信和系统设置变化等等。 如果...
嵌入式Android项目设计与开发 第五章 广播 ——广播的概念 概念 广播:广播是Android四大组件之一。系统中某种事件产生后会往外发送一个消息,该...自定义广播接收器类 3.在应用中注册广播接收器 谢谢 请专家批评指正!
这个项目曾经是Coursera Android课程的作业: : 在这里回答以下问题: 如何动态注册和注销 BroadcastReceiver? 如何将意图过滤器添加到 BroadcastReceiver? 普通广播和有序广播有什么区别? 以及如何使用有序广播...
9.2.1 实现Android中的广播事件 9.2.2 BroadCastReceiver介绍 9.3 应用实例详解 9.3.1 程序操作演示 9.3.2 实例编程实现 9.4 本章小结 第10章 一切为用户服务——Service应用实例 10.1 认识Service 10.2 使用...
Android 中在有序广播中添加自定义权限的实例 前言; 有序广播说明: 有序广播因为要处理消息的处理结果,所以要复杂一些。 * sendOrderedBroadcast(Intent intent, String receiverPermission, BroadcastReceiver ...
此次分享内容 使用BroadcastReceiver广播接收器来接收网络状态(采用系统广播) BroadcastReceiver作为Android四大组件之一; Android:BroadcastReceiver广播接收...自定义广播接收器 public class NetWorkStateRece
一、自定义广播 activity_main.xml 广播接受者MyBroadcastReceiver1.java public class MyBroadcastReceiver1 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent)...
BroadcastReceiver不仅可以接收系统广播,也可接收自定义的广播 1.定义一个广播接收器 代码如下: public class MyReceiver extends BroadcastReceiver { public MyReceiver() { Log.i(TAG,”MyReceiver”)...
第八讲Intent和BroadcastReceiver ... 添加权限BroadcastReceiver标准广播有序广播发布广播-自定义标准广播示例:接收广播-接受广播示例:实现短消息提示示例题目记录 Intent Intent可以启动一个Activity
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.database.ContentObserver; import android....
42、BroadcastReceiver 接收广播消息 43、非UI线程中不能操作UI线程中的View测试 44、ImageSwitcher animation gesture实现可以滑动的跑马灯 45、下载状态栏显示下载进度 46、Gallery3d效果 47、ListView 上拉...
42、BroadcastReceiver 接收广播消息 43、非UI线程中不能操作UI线程中的View测试 44、ImageSwitcher animation gesture实现可以滑动的跑马灯 45、下载状态栏显示下载进度 46、Gallery3d效果 47、ListView 上拉...
本书是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。本书从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层...
Android宝典--第二阶段 多线程下载 进度条监听器 TabHost、高级控件 自定义控件 BroadCastReceiver广播接收者 service服务 ....
《Android开发艺术探索》是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。《Android开发艺术探索》从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些...
如果想要监听获取应用的安装和卸载事件,只需要自定义一个BroadcastReceiver,来对系统广播进行监听和处理
6.15 后台服务送出广播信息——sendBroadcast与BroadcastReceiver 6.16 开机程序设计——receiver与intent-filter协同作业 6.17 双向短信常驻服务——Service与receiver实例 第7章 娱乐多媒体 7.1 访问Drawable资源...