22 广播小小总结

1,通知

在屏幕之外 展示给用户信息

1,普通的通知
2,大视图通知  使用样式
3,带进度条的通  明确的进度和模糊的进度
4,自定义的通知

一般使用在:消息推送

2,广播接收者 BroadcastReceiver

>1,定义  可以接收某一频道(action) 发送的广播  ,发送者 Activity,Service

>2,作用:
    >监听系统的广播进行处理  :电量过低 进行提取 网络状态

    系统广播:
        1,电量的:Intent.ACTION_BATTERY_CHANGED
        2,网络的
        3,拨打电话的:android.intent.action.NEW_OUTGOING_CALL
        4,短信的:android.provider.Telephony.SMS_RECEIVED
        5,打电话的状态:android.intent.action.PHONE_STATE
        5,....

    >自定义广播 :在服务中下载数据  使用广播进行发送  

>3,使用:
    >1,创建一个class 继承BroadCastReceiver
    >2,重写父类里的方法 onReceiver()
    >3,注册广播
        >静态注册:在清单文件进行注册
            >特点:不管程序是否活动  都可以进行监听
        >动态注册:在逻辑代码中注册
            >一般在OnResume()里进行注册  在OnPause()方法 取消注册  
            registerReceiver(myBroadCastReceiver02, intentFilter);
            特点:程序活动时  才进行监听 
>4,分类

//普通广播   不能中断
    sendBroadcast(intent);
//有序广播   可以中断   abortBroadcast();//中断广播
    sendOrderedBroadcast(intent, null);

粘性广播:广播一直存在消息容器里  直到有接收者处理广播(弃用)


>5,广播接收者注意事项:
    1,广播接受者的生命周期10s,在接收广播时创建  在onReceiver()执行后销毁
    2,在广播接收者内不能做耗时操作   ,在主线程执行
    3,在广播接收者内不能开启子线程  ,在广播结束后 ,创建的线程容易变成 空线程,很容易被程序回收
    4,耗时操作让服务来执行

posted on 2016-09-21 20:18  木鱼哥  阅读(120)  评论(0编辑  收藏  举报

导航