zoukankan      html  css  js  c++  java
  • 广播

    1.首先写一个类继承广播BroadcastReceiver,在里面重写onRecrive()方法

    2.在onCreate()方法中写一个IntentFilter实例,并且给它添加一条我们所要接收广播的类型。例如我们添加网络广播需要添加 android.net.conn.CONNECTIVITY_CHANGE这条广播

    IntentFilter intentFilter=new IntentFilter();

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

    3,。接下来我们需要添加我们创建的类实例

    new 我们创建的类.

    4.用registerReceiver()注册广播,并且将类和IntentFilter实例传入。

    5.判断有没有网络,在onRecrive()方法中通过getSystemService()方法得到ConnectivityManager
    实例,在通过实例调用getActiveNetworkInfo()方法,得到NetworkInfo实例

    if(networkInfo!=null&&networkInfo.isAvailable()) 这一句判断有没有网络

    注意:记得加联网权限

    ====================================================================================

    有序广播:

    1.首先定义一个类继承BroadcastReceive 重写onReceive()方法:

    2.在清单文件中添加

    其中name为自定义广播;priority 为广播的先后顺序。参数越高优先级越高。

    如果利用sendOrderBroadcast()方法发送广播,它可以中断广播,此方法需要传入两个参数,第一个为initent,第二个为与权限有关的字符串,这里传入null就可以。

    在优先级高的类中加入abortBroadcast()方法后,只要优先级比此方法低,那么以后的方法都不会执行。

    ==================================================================================

    本地广播

    1.首先使用LocakBroadcastManager调用getInstance()的到实例;

    2.定义一个本地广播的类

    3,通过IntentFilter的到传输广播的类型、

    4.注册广播监听 通过LocakBroadcastManager
    调用registerReceive(),这里面两个参数一个为我们定义的类,另一个为IntentFilter

    5.在点击按钮中用LocakBroadcastManager
    调用发送广播 

    ------------------------------------------------------------------------------------------------------

    1.inFil  2.add    3.new   4,监听 re

  • 相关阅读:
    Java进阶知识查漏补缺06
    SQL学习记录(concat)
    Restful API学习
    git学习
    获得xmlhttp对象
    vue-cli初接触
    vue初接触
    java使用百度UNIT
    JSON学习
    通用Mapper警告:建议修改基本类型为对应的包装类型!
  • 原文地址:https://www.cnblogs.com/lyl123/p/7160614.html
Copyright © 2011-2022 走看看