`

Android学习之Android广播机制

 
阅读更多

一提起广播,我们首先想到的是收音机,当我们想要收听某个广播台时只需要将收音机的频率调至广播台所在的频率即可!而Android中的广播其实和收音机非常相似,不过它没有所谓的频率,它是由系统广播一个事件,然后由其他满足某一条件的程序接收并处理这个事件!!

  要在Android中实现广播,首先我们要在Manifest.xml文件中配置一个<receiver/>标签,这个标签必须有一个android:name属性,值为继承自BroadcastReceiver类的接收器类!这个标签还有一个子标签为<intent-filter/>,这个标签很重要,是指定接收器需要接收哪种广播。另外,还有配置一个用户权限:<uses-permission/>,具体的值可以参考官方API文档。

另外一个比较重要的步骤是必须有一个类继承自BroadcastReceiver类,并复写onReceiver方法,在该方法中处理接收到广播后需要处理的事情!

下面来看一个具体的例子,有助于更好的理解广播机制是怎么一回事。

UI部分就不说了,Activity上就加了一个按钮,点击后发送广播。接收器接收到广播后在终端输出一句话。

首先看AndroidManifest.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.gufengxiachen.broadcast"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".BroadCast"
                  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=".MyBroadCastReceiver">
			<intent-filter>
				<action android:name="android.intent.action.EDIT"></action>
			</intent-filter>
			
		</receiver>
    </application>
   
    <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
</manifest>

 下面是Activity:

package com.gufengxiachen.broadcast;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class BroadCast extends Activity {
    /** Called when the activity is first created. */
	
	private Button sendBroadCast =null;	
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        sendBroadCast = (Button)findViewById(R.id.sendBroadCast);
       
        sendBroadCast.setOnClickListener(new SendBroadCast());
    }
    class SendBroadCast implements OnClickListener{
    	@Override
    	public void onClick(View v) {
    		// TODO Auto-generated method stub
    		
    		Intent intent = new Intent(Intent.ACTION_EDIT);
    		BroadCast.this.sendBroadcast(intent);
    	}
    }
      
}

 最后是接收器类:

 

package com.gufengxiachen.broadcast;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class MyBroadCastReceiver extends BroadcastReceiver{
	public MyBroadCastReceiver(){
		
	}
	@Override
	public void onReceive(Context context, Intent intent) {
		
		System.out.println("message receiver");
	}

}
 
分享到:
评论
1 楼 bawanglb 2011-09-30  
,这个讲的通俗易懂,支持

相关推荐

    Android 广播机制实例

    Android中的广播机制设计的非常出色,很多事情原本需要开发者亲自操作的,现在只需等待广播告知自己就可以了,大大减少了开发的工作量和开发周期。而作为应用开发者,就需要数练掌握Android系统提供的一个开发利器,...

    Android广播机制详解

    本文将详细解析Android广播机制的核心概念、工作原理以及如何使用。 一、广播基本概念 1. 广播Intent:广播Intent是Android系统中用于发送和接收广播消息的对象。它包含一个动作(Action)、数据(Data)、类型...

    android-关于广播机制的使用

    总结,Android广播机制是实现系统事件通知和跨应用通信的重要手段。理解并熟练运用广播,可以提升应用的功能性和响应性。在实际开发中,根据需求选择合适的注册方式,合理设计IntentFilter,以及适时使用...

    android学习教程--广播机制

    学习Android的广播机制,不仅可以帮助开发者更好地理解和应对系统的各种事件,还能在设计应用时充分利用系统资源,实现更高效、灵活的交互。通过熟练掌握BroadcastReceiver的使用,开发者可以创建出能够响应系统事件...

    android的广播机制和广播的简单使用

    首先,理解Android广播机制的核心概念。Android系统会发送各种广播Intent,比如设备启动、网络状态改变等。这些Intent可以被任何注册了对应意图过滤器的BroadcastReceiver所接收。BroadcastReceiver是Android中处理...

    android广播机制

    Android 广播机制是Android系统中一种用于组件间通信的重要机制。BroadcastReceiver,即广播接收器,是Android四大组件之一,它允许应用程序在不互相依赖的情况下接收和响应系统或应用程序发出的广播事件。这些事件...

    Android系统中的广播(Broadcast)机制简要介绍和学习计划

    广播机制在Android中之所以不可或缺,是因为它实现了发送者和接收者的松耦合。发送广播的应用不需要知道哪些应用或组件会接收到广播,而接收广播的组件也不需要预先知道广播的来源。这种设计使得系统能够动态响应...

    android广播时间处理机制

    总之,Android的广播时间处理机制是系统事件响应的重要组成部分,通过BroadcastReceiver可以监听和处理各种系统事件,包括自定义事件和系统预定义事件。理解并熟练掌握这一机制对于Android应用开发至关重要。

    Android 广播机制

    广播机制是Android系统事件分发的核心,能够处理系统级别的通知(如设备开机、网络状态变化)以及应用程序自定义的事件。本文将深入探讨Android广播的工作原理、类型、注册方式以及如何创建和接收广播。 首先,...

    Android Broadcast 广播机制 实例

    Broadcast广播是Android系统中的一种全局通知机制,用于在整个系统中传播事件。当一个Broadcast被发送时,所有注册了与该Broadcast匹配的BroadcastReceiver(广播接收器)都会收到这个消息,并可以执行相应的处理...

    Android Studio—自定义广播.zip

    **Android Studio 自定义广播...理解广播机制并熟练运用,可以极大地提升 Android 应用的交互性和灵活性。在实际开发中,结合标签所提到的移动开发知识,广播接收器常被用于实现诸如网络状态检测、后台服务通知等功能。

    Android蓝牙广播通信

    本文将深入探讨Android系统如何利用广播通信来连接蓝牙设备。 首先,我们需要了解Android中的蓝牙API。Android提供了一个名为BluetoothAdapter的类,它是Android蓝牙功能的主要入口点。通过这个类,我们可以检查...

    Android broadcast广播机制的使用

    本文将深入探讨Android广播机制的使用,包括动态注册与静态注册两种方式。 首先,我们要理解广播的基本概念。Android广播是系统用于在整个应用环境中发送全局通知的方式。这些通知可以是系统级别的,如设备启动、...

    android的广播机制演示

    在Android系统中,广播(Broadcast)是一种非常重要的组件,它使得应用程序之间能够进行无须预先知道对方存在的通信。...通过这个“android的广播机制演示”项目,开发者可以更直观地学习和实践Android广播的使用。

    android 跨应用程序广播发送接受

    总的来说,Android的跨应用程序广播机制为开发者提供了灵活的消息传递方式,而通过在广播接收器中弹出对话框,可以增强用户体验。但需要注意的是,随着系统版本的更新,对于广播的使用策略也需要相应调整,以适应...

    android 广播机制和短信截获

    总结来说,Android的广播机制为应用程序提供了强大的通讯能力,而短信广播截获则能让我们实时监控短信消息。通过理解广播的工作原理,合理选择注册方式,以及正确处理权限和系统限制,我们可以创建出高效且可靠的...

    Android局域网UDP广播通信

    【Android局域网UDP广播通信】是Android应用开发中的一个重要技术点,主要涉及网络编程、多播技术以及Android系统的权限管理。在这个场景中,应用程序利用UDP(User Datagram Protocol)协议,通过局域网进行数据...

    Android程序源码--广播

    总之,理解并熟练掌握Android中的广播机制对于开发者来说至关重要,它能帮助你在应用程序设计中实现更高效、灵活的组件间通信。通过研究“Android程序源码--广播”,你将能够更深入地掌握这一关键功能,并将其应用于...

Global site tag (gtag.js) - Google Analytics