美文网首页
广播机制

广播机制

作者: Aptitude | 来源:发表于2018-07-15 11:04 被阅读0次

广播机制

动态注册

所谓动态注册是指注册逻辑是写在onCreate()中的,即必须要在程序启动之后才能接收到广播。

1.设置广播接收器。

class NetworkChangeReceiver extends BroadcastReceiver{

public void onReceive(Context context,Intent intent){

        //得到connectionManager的实例,用来管理网络连接

        ConnectivityManager connectionManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);

        //得到networkInfo的实例

        NetworkInfonetworkInfo=connectionManager.getActivityNetworkInfo();

        //判断网络连接做出相应的反应

        if(networkInfo!=null&&networkInfo.isAvailable()){

               Toast.makeText(context,"networkis available",Toast.LENGTH_SHORT).show();

        }else{

               Toast.makeText(context,"networkis unavailable",Toast.LENGTH_SHORT).show();

        }

}

}

2.发送广播

//在onCreate()外部定义

private IntentFilter IntentFilter;

private NetworkChangeReceiverNetworkChangeReceiver;

protected void onCreate(BundlesavedInstanceState){

       super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_main);

       intentFilter=new IntentFilter();

       //添加广播接收器要接收的广播

       intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");

       NetworkChangeReceiver=newNetworkChangeReceiver();

       //注册广播,当接收到intentFilter里添加的广播消息时就开始执行NetworkChangeReceiver里的内容

       registerReceiver(NetworkChangeReceiver,intentFilter);

}

3.动态注册的广播需要取消注册

protected void onDestroy(){

       super.onDestroy();

       unregisterReceiver(NetworkChangeReceiver);

}

另:要访问系统网络状态需要添加权限

<user-permission android:name=”android.permission.ACCESS_NETWORK_STATE/>

静态注册

1.通动态注册需要写广播接收器,类名比如为BootCompleteReceiver()(在一个单独的文件直接通过android studio中实现创建广播文件)。

2.已自动在AndroidManifest.xml中注册完成,同时声明要发送的广播。

<receiver

  android:name=".BootCompleteReceiver"

   android:enabled="true"

   android:exported="true">

  < intent-filter>

    <action android:name="android.intent.action.BOOT_CONPLETED"/>

< /intent-filter>

      </receiver>

3.相应的权限允许

<user-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED/>

发送标准广播

1.定义广播接收器,MyBroadcastReceiver() extends BroadcastReceiver.同上。

2.在AndroidManifest.xml中进行注册。

<receiver

android:name=".MyBroadcasrReceiver"

   android:enabled="true"

   android:exported="true">

   < intent-filter>

   action android:name="android.intent.action.MY_BROADCAST"

< /intent-filter>

</receiver>

3.发送广播。

Intent intent=newIntent("com.example.broadcasttest.MY_BROADCAST");

sendBroadcast(intent);

发送有序广播

有序广播是指当同时有两个或两个以上的广播接收器接收的广播内容是一样的时候,有必要指定一下接收广播的顺序和要不要继续将广播传递下去。

1.设置优先级

 <intent-filter android:priority=”100”>

<action android:name=" com.example.broadcasttest.MY_BROADCAST"/>

</intent-filter>

2.发送广播方式

sendOrderedBroadcast(intent,null);

3.截断广播

abortBroadcast();

发送本地广播

前面所定义的广播是跨应用程序的,即发送的广播可以被其他应用接收,外部发送的广播也可以被我们的应用程序接收。本地广播是指广播的发送和接收在应用程序内部进行,使用的是动态注册的方式。

1.接收广播的内容同上是一样的

2.创建一个本地广播管理器,并获取实例

private localBroadcastManager localBroadcastManager;

localBroadcastManager =localBroadcastManager.getInstance(this);//获取实例

3.发送广播

LocalBroadcastManager.sendBroadcast(intent);//发送本地广播

4.注册本地广播监听器

localBroadcastManager.registerReceiver(localReceiver,intentFilter);

5.取消广播的注册

protected void onDestroy(){

       super.onDestroy();

       localBroadcasrManager.unregisterReceiver(localReceiver);

}

相关文章

  • Android广播

    参考:Android总结篇系列:Android广播机制Android广播机制 一. 广播 1. 广播是什么? 广播...

  • Android - base - Broadcast

    四大组件之广播 大纲 广播机制简介 广播接收器 广播发信器 接收系统广播 发送自定义广播 本地广播 #广播机制简介...

  • broadcast基础

    广播机制简介 什么是广播,就是字面意思,我们生活中有很多广播的例子。Android提供了广播机制,便于进行系统级别...

  • 广播机制

    1.广播机制  Android设备中,各种事件时有发生。WiFi时有时无,软件装卸,电话接打,短信收发,等等。许多...

  • 广播机制

    广播机制 动态注册 所谓动态注册是指注册逻辑是写在onCreate()中的,即必须要在程序启动之后才能接收到广播。...

  • 广播机制

    标准广播是一种异步广播,几乎所有注册监听这类广播的广播接收器都可以同时收到广播消息,效率比较高,无法截断。 有序广...

  • Android学习(三)—— 四大组件之Boradcast Re

    本文目录结构:一、广播机制简介二、接收系统广播三、发送自定义广播四、使用本地广播 一、广播机制简介 定义: 类似于...

  • 关于Broadcast Receiver的知识点

    一,广播 二,实现广播 三,广播实现机制 四,LoacalBroadcastManager详解 ...

  • 4 BroadCast相关

    广播实现广播-receiver广播实现机制LocatBroadcastManager详解 1、广播定义 在Andr...

  • Android之广播机制学习笔记

    Android之广播机制的学习方法 什么是广播机制一提到广播我们第一感觉就会联想到小时候村里面的广播,安卓的广播机...

网友评论

      本文标题:广播机制

      本文链接:https://www.haomeiwen.com/subject/tifppftx.html