`
1140566087
  • 浏览: 550959 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18183
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:310760
Group-logo
J2ME 基础学习课程集
浏览量:18227
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17303
社区版块
存档分类
最新评论

Android 之 BroadcastReceiver自定义广播

阅读更多

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>

       
     效果图:
     
0
1
分享到:
评论

相关推荐

    android studio 自定义广播

    android studio 自定义广播 这次记录的主要是我对广播的一些理解 自定义广播的静态注册与使用 一.静态广播的注册 到AndroidMainfest.xml文件当中进行注册(注意必须得要将receiver写在application的里面) Android:...

    android服务自启动Service以及BroadcastReceiver和Notification

    android service Notification BroadcastReceiver Intent 安装的服务开机自启动,service定时的打印消息,消息同时显示在通知栏,窗体界面的跳转,自定义控件的开发。系统广播,定时广播,轮询广播等。...

    广播发送消息

    应用程序和Android系统都可以使用Intent发送广播消息。 广播消息的内容可以是与应用程序密切相关的数据信息,也可以是Android的系统信息,例如网络连接变化、电池电量变化、接收到短信和系统设置变化等等。 如果...

    Android项目设计与开发:广播的概念.ppt

    嵌入式Android项目设计与开发 第五章 广播 ——广播的概念 概念 广播:广播是Android四大组件之一。系统中某种事件产生后会往外发送一个消息,该...自定义广播接收器类 3.在应用中注册广播接收器 谢谢 请专家批评指正!

    Android_BroadcastReceiver_Notification:该项目是 Android 中 BroadcastReceiver 和 Notification 的演示应用程序

    这个项目曾经是Coursera Android课程的作业: : 在这里回答以下问题: 如何动态注册和注销 BroadcastReceiver? 如何将意图过滤器添加到 BroadcastReceiver? 普通广播和有序广播有什么区别? 以及如何使用有序广播...

    android开发入门与实战(下)

    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 中在有序广播中添加自定义权限的实例

    Android 中在有序广播中添加自定义权限的实例 前言; 有序广播说明: 有序广播因为要处理消息的处理结果,所以要复杂一些。 * sendOrderedBroadcast(Intent intent, String receiverPermission, BroadcastReceiver ...

    Android 对手机网络的检测和监听的方法示例

    此次分享内容 使用BroadcastReceiver广播接收器来接收网络状态(采用系统广播) BroadcastReceiver作为Android四大组件之一; Android:BroadcastReceiver广播接收...自定义广播接收器 public class NetWorkStateRece

    Android之广播Broadcast

    一、自定义广播 activity_main.xml 广播接受者MyBroadcastReceiver1.java public class MyBroadcastReceiver1 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent)...

    Android中的广播和广播接收器代码实例

    BroadcastReceiver不仅可以接收系统广播,也可接收自定义的广播   1.定义一个广播接收器 代码如下: public class MyReceiver extends BroadcastReceiver {  public MyReceiver()  {  Log.i(TAG,”MyReceiver”)...

    【android编程】第八讲-Intent和BroadcastReceiver

    第八讲Intent和BroadcastReceiver ... 添加权限BroadcastReceiver标准广播有序广播发布广播-自定义标准广播示例:接收广播-接受广播示例:实现短消息提示示例题目记录 Intent Intent可以启动一个Activity

    Android 自定义SeekBar动态改变硬件音量大小实现和音量键的同步(推荐)

    import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.database.ContentObserver; import android....

    android开发demo集合

    42、BroadcastReceiver 接收广播消息 43、非UI线程中不能操作UI线程中的View测试 44、ImageSwitcher animation gesture实现可以滑动的跑马灯 45、下载状态栏显示下载进度 46、Gallery3d效果 47、ListView 上拉...

    android初学者入门项目

    42、BroadcastReceiver 接收广播消息 43、非UI线程中不能操作UI线程中的View测试 44、ImageSwitcher animation gesture实现可以滑动的跑马灯 45、下载状态栏显示下载进度 46、Gallery3d效果 47、ListView 上拉...

    Android开发艺术探索.任玉刚(带详细书签).pdf

    本书是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。本书从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些知识点;第二,结合Android源代码和应用层...

    Android第二阶段宝典

    Android宝典--第二阶段 多线程下载 进度条监听器 TabHost、高级控件 自定义控件 BroadCastReceiver广播接收者 service服务 ....

    Android开发艺术探索

    《Android开发艺术探索》是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。《Android开发艺术探索》从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些...

    Android 监听应用的安装和卸载

    如果想要监听获取应用的安装和卸载事件,只需要自定义一个BroadcastReceiver,来对系统广播进行监听和处理

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    6.15 后台服务送出广播信息——sendBroadcast与BroadcastReceiver 6.16 开机程序设计——receiver与intent-filter协同作业 6.17 双向短信常驻服务——Service与receiver实例 第7章 娱乐多媒体 7.1 访问Drawable资源...

Global site tag (gtag.js) - Google Analytics