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 四大组件之一 :BroadCastReceiver 广播接收器详解

转自: http://yangguangfu.iteye.com/blog/1063732 BroadCastReceiver简介BroadCastReceiver源码位于:framework/...
  • Simon_Crystin
  • Simon_Crystin
  • 2017年03月29日 11:58
  • 594

android-----BroadcastReceiver广播接收器

一、广播的功能和特征   广播的生命周期很短,经过调用对象-->实现onReceive-->结束,整个过程就结束了。从实现的复杂度和代码量来看,广播无疑是最迷你的Android 组件,实现...
  • qishuo_java
  • qishuo_java
  • 2016年03月25日 09:45
  • 1045

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

广播(Broadcast)是一种广泛运用的在应用程序之间传输信息的机制,在 Android 里面有各种各样的广播,比如电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序也可以接受广播并做...
  • netdxy
  • netdxy
  • 2016年02月21日 19:09
  • 4791

android广播接收器的优先级总结

android中的广播分为2种,无序广播和有序广播,也可以理解为散列广播和队列广播。 1.无序广播,不能中断,分发机制有点类似散列发送,这种广播的的发送为:context.sendBroadcast...
  • xhl86xhl
  • xhl86xhl
  • 2014年04月14日 16:58
  • 1322

Android广播接收器

Android中的广播,即BroadcastReceiver,是应用开发中四大组件之一,通过发送/接收广播,可以实现不同组件的通信。 广播的分类 根据是否跨进程,可分为全局广播和本地广播。 全局...
  • twilight041132
  • twilight041132
  • 2016年01月09日 11:14
  • 1057

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

BroadcastReceiver顾名思义也就是说"广播接收器"的意思,它用来接收系统和应用中的广播。作为四大组件之一想必大家肯定比我更熟悉。...
  • qq_23940659
  • qq_23940659
  • 2016年02月28日 10:41
  • 522

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

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

Android自定义一个广播接收器BroadcastReceiver监听系统wifi连接

概述 注册一个广播用来接收系统发送的广播,比如:发送或接收到一个短信,用Toast或Notification通知提醒;或者是打开或者断开网络连接,用Toast做出提示。 注册文件 ...
  • sy755754582
  • sy755754582
  • 2017年01月03日 14:24
  • 447

Android如何在广播接收器中启动活动和弹出对话框

1 . 在onReceiver()方法中启动活动,必须添加这句 intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 2 . 在onReceive...
  • bingjianIT
  • bingjianIT
  • 2016年06月24日 22:26
  • 2885

Broadcast Receiver(二)用代码注册广播接收器

Boadcast Receiver(一)中在AndroidManifest.xml中配置广播接收器,程序在安装后就会自动注册广播接收器,如果想在适当的时候注册广播接收器,在其使用完之后注销,就要使用r...
  • yhcelebrite
  • yhcelebrite
  • 2013年09月07日 16:02
  • 5707
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android中的广播接收器
举报原因:
原因补充:

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