zoukankan      html  css  js  c++  java
  • 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,耗时操作让服务来执行
    
  • 相关阅读:
    nodejs事件和事件循环详解
    keycloak集群化的思考
    Python解释器和IPython
    IndexedDB详解
    在onelogin中使用OpenId Connect Implicit Flow
    在onelogin中使用OpenId Connect Authentication Flow
    SAML和OAuth2这两种SSO协议的区别
    wildfly 21的配置文件和资源管理
    【老孟Flutter】2021 年 Flutter 官方路线图
    【老孟Flutter】为什么 build 方法放在 State 中而不是在 StatefulWidget 中
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152190.html
Copyright © 2011-2022 走看看