• 《第一行代码》学习笔记18-广播接收器Broadcast_Receiver(1)


    1.网络通信原理,在一个IP网络范围内最大的IP地址是被保留作为广播地址来使用的。某个网络的IP 范围是192.168.0.XXX,
    子网掩码是255.255.255.0,则该网络的广播地址是192.168.0.255。广播数据包会被发送到同一网络上的所有端口,这样在
    该网络中的每台主机都会收到这条广播。
    2.Android提供了一套完整的API,允许应用程序自由地发送和接收广播。(1)发送广播借助Intent。(2)接收广播需要广播
    接收器。
    3.Android中的广播分标准广播和有序广播。
    标准广播-完全异步执行的广播:广播发出后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,它们之间没有
    先后顺序。这种广播的效率会比较高,同时意味着它无法截断。
    有序广播-同步执行的广播:广播发出之后,同一时刻只有一个广播接收器收到这条广播消息->广播接收器中的逻辑执行完毕
    ->广播继续传递。广播接收器有先后顺序,(1)优先级高的广播接收器可以先收到广播消息。(2)前面的广播接收器可以截断
    正在传递的广播,则后面的广播接收器无法收到广播消息。
    4.Android内置了很多系统级别的广播,可以在应用程序中通过监听这些广播得到各种系统的状态信息。
    5.注册广播两种方式:代码中注册,为动态注册;AndroidManifest.xml中注册,为静态注册。
    6.当网络状态发生变化时,系统发出的是android.net.conn.CONNECTIVITY_CHANGE的广播。
    7.Android系统为了保证应用程序的安全性作了规定,若程序需要访问一些系统的关键性信息,必须在配置文件中声明权限,否则程序
    直接崩溃,如这里的查询系统的网络状态就是需要声明权限的。
    8.动态注册的广播接收器可自由地控制注册与注销,很灵活,但必须要在程序启动之后才能收到广播,因为注册的逻辑是写在onCreate()
    中的。若让程序在未启动的情况下能接收广播,就得使用静态注册方式。
    9.不要在onReceive()方法中添加过多的逻辑或者进行任何的耗时操作,因为在广播接收器中是不允许开启线程的,onReceive()方法运行
    较长时间而没有结束时,程序会报错。
    10.广播接收器扮演一种打开程序其他组件的角色,如创建一条状态栏通知,或启动一个服务。

  • 相关阅读:
    JQ-动画合集(ing...)
    CSS-各种cs样式之浏览器兼容处理方式汇总大全(更新中...)
    CSS-用伪元素制作小箭头(轮播图的左右切换btn)
    CSS-垂直|水平居中问题的解决方法总结
    JS-自制提速小工具:开发页面时需要按比例计算宽高值的快速计算器
    canvas-渐变文字
    HTML-一个网页的头部的大概框架(完善ing)
    JS-面向对象
    CSS-border属性制作小三角
    JS事件-事件处理程序-笔记总结ing...
  • 原文地址:https://www.cnblogs.com/Iamasoldier6/p/5018058.html
Copyright © 2020-2023  润新知