- 浏览: 66062 次
- 性别:
- 来自: Mercury
最新评论
一、Android广播机制介绍
Android:操作系统
BroadcastReceicer:广播接收器,需要注册到Android系统上
事件:如接到短信、电话
二、BroadcastReceiver的作用
每一个BroadcastReceiver都是用来处理不同的事件对象的,Android操作系统产生一个事件的时候,Android就会通知所有BroadcastReceiver产生一个事件,每个BroadcastReceiver就会判断是否是事件是否是自己要处理的事件,如果是当前BroadcastReceiver的事件,才会接收。指明每一个BroadcastReceiver是处理哪个事件,注册到Android操作系统上去主要是在AndroidManifest.xml中设置(是在application标签内)。
<receiver android:name=".TestBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.EDIT"/> </intent-filter> </receiver>Receiver标签的android:name属性表示将哪一个BroadcastReceiver注册到操作系统上面,filter标签上表示当前BroadcastReceiver是处理哪一类的事件动作的。
Action指的是当前操作是什么类型,即处理数据的方法。data表示将要操作的数据。要想把广播发送出去必须调用sendBroadcast方法。
三、BroadcastReceiver的编写
一个小例子,在BroadcastReceiverActivity中有个按钮,点击发送一个广播,同时在TestBroadcastReceiver中接收。
BroadcastReceiverActivity.java——发送广播
package com.android.activity; 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 BroadcastReceiverActivity extends Activity { private Button broadcast = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); broadcast = (Button)findViewById(R.id.broadcast); broadcast.setText("测试广播机制"); broadcast.setOnClickListener(new BroadcastListener()); } class BroadcastListener implements OnClickListener{ public void onClick(View v) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_EDIT); BroadcastReceiverActivity.this.sendBroadcast(intent); } } }
TestBroadcastReceiver.java——接收广播
package com.android.activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class TestBroadcastReceiver extends BroadcastReceiver { public TestBroadcastReceiver() { System.out.println("TestBroadcastReceiver"); } @Override public void onReceive(Context context, Intent intent) { System.out.println("TestBroadcastReceiver --> onReceive"); } }
AndroidManifest.xml——注册接收广播类型
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.activity" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".BroadcastReceiverActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".TestBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.EDIT"/> </intent-filter> </receiver> </application> </manifest>
输出结果:
四、BroadcastReceiver的生命周期
TestBroadcastReceiver对象一旦生成就会调用该对象的onReceive方法,当方法返回时该对象就变成垃圾对象了,当再次发送广播时会重新声明TestBroadcastReceiver对象。
发表评论
文章已被作者锁定,不允许评论。
-
Android40_Dialog
2011-11-14 00:11 2945Dialog是Android常用的对话框控件。AlertDia ... -
Android39_Clock和TimePicker
2011-11-14 00:08 2318一、AnalogClock和DigitalClock ... -
Android38_ImageView和Gallery
2011-11-14 00:07 3560一、ImageView使用方法 ImageVi ... -
Android37_JSON数据解析
2011-11-08 00:14 2307一、JSON介绍 JSON(JavaSc ... -
Android36_Animations使用(四)
2011-11-08 00:14 3382一、LayoutAnimationsContrlller ... -
Android35_Animations使用(三)
2011-11-08 00:13 2612一、AnimationSet的具体使用方法 ... -
Android34_Animations使用(二)
2011-11-08 00:12 1920在代码中使用Animations可以很方便的调试、运行 ... -
Android33_Animations使用(一)
2011-11-08 00:12 2246一、Animations介绍 Anima ... -
Android31_AppWidget使用(二)
2011-11-05 00:09 2462一、PendingIntent介绍 PendingIn ... -
Android30_AppWidget使用(一)
2011-11-05 00:08 2229一、App Widget定义 App ... -
Android32_Notification用法
2011-11-05 00:09 1844Android系统的状态栏(Status Bar)中有一 ... -
Android29_SeekBar和RatingBar
2011-11-02 23:21 2071一、使用SeekBar步骤: SeekB ... -
Android28_ExpandableListActivity
2011-11-02 23:21 1458ExpandableListActivity就是可扩展的 ... -
Android27_AutoCompleteTextView
2011-11-02 23:21 1029一、创建AutoCompleteTextView ... -
Android26_DatePicker
2011-11-02 23:20 1747一、DatePicker和DatePickerDialo ... -
Android25_Spinner使用方法
2011-11-02 23:20 2775一、创建Spinner的步骤 1.在布局 ... -
Android24_Service初步
2011-10-18 22:27 967一、Service概念 ... -
Android23_Socket编程
2011-10-18 22:19 1469一、什么是Socket Socket是基 ... -
Android22_WIFI网络操作
2011-10-18 22:12 1655一、什么是WIFI WIFI就是一种无线 ... -
Android21_广播机制(二)
2011-10-18 22:00 964一、注册BroadcastReceiver的方法 ...
相关推荐
Android_广播通知机制r.pdf
android-关于广播机制的使用 android-关于广播机制的使用
Android中的广播机制设计的非常出色,很多事情原本需要开发者亲自操作的,现在只需等待广播告知自己就可以了,大大减少了开发的工作量和开发周期。而作为应用开发者,就需要数练掌握Android系统提供的一个开发利器,...
broadcast_Android 广播机制broadcast用法实例.rar
Android Broadcast 广播机制 实例
android广播时间处理机制学习小结,android开发技术方面的事件处理信息。
关于Android的广播机制学习,自己根据自己的理解写的内容。贴了代码和自己的总结以及必要的编写的代码。
详细介绍了android广播机制,和代码设计。
android 广播机制的实现,包括静态注册和动态注册,动态示例为获取android的短信广播,并读取短信内容,有些手机需要关闭系统独占短信和网络短信
广播被分为两种不同的类型:“普通广播(Normal broadcasts)”和“有序广播(Ordered broadcasts)”。 本文讲解广播机制的应用
详见http://blog.csdn.net/huaxun66/article/details/52935631
简单的broadcast广播机制的使用,实现了通过动态注册广播和静态注册广播的方法,代码比较简单,通俗易懂。
这是一个演示使用android广播机制的小例子
Android第六章广播机制
下面通过2个简单的例子来学会怎样在andorid中使用广播信息,其实在文章Android开发历程_13(Service的使用)中已经使用过广播机制,即在servier下发送广播信息,主activity中接收该信息来更新UI。在那个程序中使用的是...
《第一行Android代码》课件:第五章 全局大喇叭-详解广播机制.pptx
主要介绍了Android实现静态广播监听器的方法,涉及Android的广播机制与记录监听广播信息的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
BroadcastActivity 安卓广播机制
Android中的广播机制基本如下图所示: 那广播在Android程序中到底是如何运行的呢?下面将以代码的形式给大家好好分析一下: 一、发送广播 Intent是Activity中发送广播的桥梁,通过他我们可以轻松的将广播发送到系统...