- 浏览: 67703 次
- 性别:
- 来自: 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 2998Dialog是Android常用的对话框控件。AlertDia ... -
Android39_Clock和TimePicker
2011-11-14 00:08 2361一、AnalogClock和DigitalClock ... -
Android38_ImageView和Gallery
2011-11-14 00:07 3616一、ImageView使用方法 ImageVi ... -
Android37_JSON数据解析
2011-11-08 00:14 2350一、JSON介绍 JSON(JavaSc ... -
Android36_Animations使用(四)
2011-11-08 00:14 3418一、LayoutAnimationsContrlller ... -
Android35_Animations使用(三)
2011-11-08 00:13 2652一、AnimationSet的具体使用方法 ... -
Android34_Animations使用(二)
2011-11-08 00:12 1961在代码中使用Animations可以很方便的调试、运行 ... -
Android33_Animations使用(一)
2011-11-08 00:12 2287一、Animations介绍 Anima ... -
Android31_AppWidget使用(二)
2011-11-05 00:09 2511一、PendingIntent介绍 PendingIn ... -
Android30_AppWidget使用(一)
2011-11-05 00:08 2262一、App Widget定义 App ... -
Android32_Notification用法
2011-11-05 00:09 1889Android系统的状态栏(Status Bar)中有一 ... -
Android29_SeekBar和RatingBar
2011-11-02 23:21 2120一、使用SeekBar步骤: SeekB ... -
Android28_ExpandableListActivity
2011-11-02 23:21 1489ExpandableListActivity就是可扩展的 ... -
Android27_AutoCompleteTextView
2011-11-02 23:21 1094一、创建AutoCompleteTextView ... -
Android26_DatePicker
2011-11-02 23:20 1783一、DatePicker和DatePickerDialo ... -
Android25_Spinner使用方法
2011-11-02 23:20 2818一、创建Spinner的步骤 1.在布局 ... -
Android24_Service初步
2011-10-18 22:27 1009一、Service概念 ... -
Android23_Socket编程
2011-10-18 22:19 1514一、什么是Socket Socket是基 ... -
Android22_WIFI网络操作
2011-10-18 22:12 1696一、什么是WIFI WIFI就是一种无线 ... -
Android21_广播机制(二)
2011-10-18 22:00 1007一、注册BroadcastReceiver的方法 ...
相关推荐
标题中的"apk.rar_.apk_android_android apk_apk"暗示了我们正在讨论的是一个与Android操作系统相关的APK文件,它被压缩在名为"apk.rar"的RAR格式文件中。APK是Android应用程序的主要文件格式,它包含了应用的所有...
总结,Android广播机制是实现系统事件通知和跨应用通信的重要手段。理解并熟练运用广播,可以提升应用的功能性和响应性。在实际开发中,根据需求选择合适的注册方式,合理设计IntentFilter,以及适时使用...
Android中的广播机制设计的非常出色,很多事情原本需要开发者亲自操作的,现在只需等待广播告知自己就可以了,大大减少了开发的工作量和开发周期。而作为应用开发者,就需要数练掌握Android系统提供的一个开发利器,...
【Android 广播通知机制详解】 在Android操作系统中,广播是一种重要的组件,它允许应用程序之间进行异步通信,即便它们并未直接相互交互。广播通知机制是Android系统中一种事件驱动的通信方式,允许开发者在系统...
本文将详细解析Android广播机制的核心概念、工作原理以及如何使用。 一、广播基本概念 1. 广播Intent:广播Intent是Android系统中用于发送和接收广播消息的对象。它包含一个动作(Action)、数据(Data)、类型...
3. **提取短信**:要从Android设备提取短信数据,开发者通常需要创建一个BroadcastReceiver,注册对`android.provider.Telephony.SMS_RECEIVED`广播的监听。当新短信到达时,BroadcastReceiver会接收到广播,并可以...
**Broadcast Receiver**:Android的事件驱动机制,允许应用在全局范围内响应系统或其它应用发送的广播消息。 **Content Provider**:作为数据共享的桥梁,使得不同应用之间可以安全地交换数据。 在“Android ...
2. **意图(Intent)**:Android中的消息传递机制,用于启动活动、服务或广播接收器。初学者会学习如何创建和解析意图,以及如何在不同组件之间传递数据。 3. **布局(Layout)**:XML文件定义了用户界面的结构。...
2. **Android源码**: 深入学习Android源码有助于理解系统的运行机制。在压缩包中可能包含了简单的示例源码,比如如何创建自定义View,处理用户事件,以及与服务、广播接收器等组件交互。源码阅读能提升开发者解决...
在这个“broadcast_Android 广播机制broadcast用法实例.rar”压缩包中,我们很可能会找到关于如何使用BroadcastReceiver的示例代码和教程。 首先,广播分为两种类型:显式广播和隐式广播。显式广播是直接指定接收者...
在Android系统中,广播机制是应用之间通信的一种重要方式,尤其在无特定目标接收者时。广播分为两类:普通广播(Normal broadcasts)和有序广播(Ordered broadcasts)。 **普通广播**是完全异步的,其特点是同时...
Android 广播机制是Android系统中一种用于组件间通信的重要机制。BroadcastReceiver,即广播接收器,是Android四大组件之一,它允许应用程序在不互相依赖的情况下接收和响应系统或应用程序发出的广播事件。这些事件...
通过理解有序广播的工作机制,开发者可以有效地控制短信的接收和处理,以实现个性化的需求,如垃圾短信过滤、重要信息提醒等。在实际开发中,应确保遵循最佳实践,尊重用户隐私,并遵守Android的权限管理规定。
3. 系统广播事件的处理:Android系统提供了一系列预定义的广播事件,例如`ACTION_TIME_CHANGED`、`ACTION_DATE_CHANGED`等。当这些事件发生时,系统会自动发送广播,开发者可以在`AndroidManifest.xml`中注册对应的...
2. **AudioFocus管理**:Android系统支持音频焦点机制,当多个应用同时尝试播放音频时,会有一个应用获得焦点并保持播放,其他应用则可能需要暂时降低音量或暂停播放。来电时,系统会自动调整音频焦点,因此开发者...
首先,理解Android广播机制的核心概念。Android系统会发送各种广播Intent,比如设备启动、网络状态改变等。这些Intent可以被任何注册了对应意图过滤器的BroadcastReceiver所接收。BroadcastReceiver是Android中处理...
本文将深入探讨Android广播机制的使用,包括动态注册与静态注册两种方式。 首先,我们要理解广播的基本概念。Android广播是系统用于在整个应用环境中发送全局通知的方式。这些通知可以是系统级别的,如设备启动、...
在Android平台上,蓝牙技术是一种广泛使用的短距离无线通信方式,特别是在设备间的数据交换和物联网(IoT)应用中。本文将深入探讨Android蓝牙的使用,包括基础概念、API介绍、蓝牙连接过程以及如何实现蓝牙虚拟串口...