• 广播


    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

  • 相关阅读:
    proc文件系统的简介
    linux获取文件属性(API)
    busybox inittab文件分析
    设计模式之Builder模式
    This用法
    以 280W 数据为依据。对比SQL2008 表分区前和分区后的 T_SQL 效率
    jquery数据验证插件(自制,简单,练手)
    C# 每天温习一点(IEnumerable<TSource>)
    多线程应用扫盲(如何简单使用多线程)
    之前做web性能优化的一些个人心得
  • 原文地址:https://www.cnblogs.com/lyl123/p/7160614.html
Copyright © 2020-2023  润新知