《第一行代码》学习笔记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.廣播接收器扮演一種打開程序其他組件的角色,如創建一條狀態欄通知,或啟動一個服務。
轉載于:https://www.cnblogs.com/Iamasoldier6/p/5018058.html
總結
以上是生活随笔為你收集整理的《第一行代码》学习笔记18-广播接收器Broadcast_Receiver(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之Activity的四种启
- 下一篇: 不同的路径 II