android中的广播接收器

原创 2015年11月21日 00:24:43

        android中的广播机制,是四大组件之一。广播接收器的作用就是监听所注册的广播,并在接收到广播时做响应的操作。

        广播接收器的使用步骤:

        1、创建广播接收者:

public class NetworkBroadcast extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //管理所有网络相关的操作
     ConnectivityManager connectivityManager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo();//获取网络信息
        if(networkInfo!=null&&networkInfo.isAvailable())//判断网络是否可用
        {
            Toast.makeText(context,"网络可用",Toast.LENGTH_SHORT).show();
        }else
        {
            Toast.makeText(context,"网络不可用",Toast.LENGTH_SHORT).show();
        }
    }
}
       2、注册广播接收者:

  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        IntentFilter intentFilter=new IntentFilter();
        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
        networkBroadcast=new NetworkBroadcast();
        registerReceiver(networkBroadcast,intentFilter);//动态注册
    }
这种注册方式是动态注册。

        3、注销广播接收者

 protected void onDestroy() {
        super.onDestroy();
        unregisterReceiver(networkBroadcast);
    }
这个例子是用于监听网络状态是否可用的。下面可以看一下静态注册的例子:

public class BootBroadcastReciver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,"手机启动",Toast.LENGTH_LONG).show();
    }
}
   <receiver android:name=".BootBroadcastReciver" >
            <intent-filter >
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
当前这种注册方式,是属于静态注册,因为这个是监听开机启动的,动态注册会有些问题。
        4、配置权限:

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
由于这两个广播接收器都需要用到系统权限所有必须要在资源文件里面注册,否则会报错。



版权声明:本文为博主原创文章,未经博主允许不得转载。

玩转Android---组件篇---Broadcast Receiver(广播接收器)

原址:http://hualang.iteye.com/category/143855 Braodcast Receiver顾名思义就是广播接收器,它和时间处理机制类似,但是事件处理机制是程序组...

Android 四大组件之一 :BroadCastReceiver 广播接收器详解

转自: http://yangguangfu.iteye.com/blog/1063732 BroadCastReceiver简介BroadCastReceiver源码位于:framework/...

Xamarin.Android广播接收器

制作一个最简单的Broadcast 实现一个最简单的广播接收器需要继承BroadcastReceiver类(抽象类),并且还要实现OnReceive方法,   默认情况下:广播接收器也是运行在U...

Android基础:广播接收器及其生命周期介绍

广播接收器(Broadcast Receivers)只是接收广播并对广播信息做出作出反应,多数的广播是由系统代码发出的——比如反应时区变化的通知,电量低的通知,照了一张照片的通知,或者用户修改了系统语...

Android 自定义广播接收器

/** * 自定义接收器 * * 如果不定义这个 Receiver,则: * 1) 默认用户会打开主界面 * 2) 接收不到自定义消息 */ public class PushRecei...
  • lm78ax
  • lm78ax
  • 2017年08月09日 11:05
  • 78

Android应用程序注册广播接收器(registerReceiver)的过程分析

前面我们介绍了Android系统的广播机制,从本质来说,它是一种消息订阅/发布机制,因此,使用这种消息驱动模型的第一步便是订阅消息;而对Android应用程序来说,订阅消息其实就是注册广播接收器,本文...

Android四大组件---BroadcastReseiver(广播接收器)

基本用法 简易闹钟基本用法BroadcastReseiver就是用来接收特定标志的(可以理解为收音机的频率,这里用的“com.android.receiver”)广播 首先在Manifest的act...

Android 广播接收器 BroadcastReceiver 注册、注销、优先级、拦截

 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。 在Android系统中,广播体现在方方面面,例如当开机完成后系...

Android学习之四大组件之广播接收器BroadcastReceiver

BroadcastReceiver顾名思义也就是说"广播接收器"的意思,它用来接收系统和应用中的广播。作为四大组件之一想必大家肯定比我更熟悉。...

Android笔记---四大组件之Broadcast Receive广播接收器详解

广播(Broadcast)是一种广泛运用的在应用程序之间传输信息的机制,在 Android 里面有各种各样的广播,比如电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序也可以接受广播并做...
  • netdxy
  • netdxy
  • 2016年02月21日 19:09
  • 4123
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android中的广播接收器
举报原因:
原因补充:

(最多只允许输入30个字)