標籤:
廣播接收者
建立廣播接收者
定義java類繼承BroadcastReceiver
在資訊清單檔中定義receiver節點,定義name屬性,指定廣播接收者java類的全類名
在intent-filter的節點中,指定action子節點,action的值必須跟要接受的廣播中的action匹配,比如,如果要接受打電話廣播,
那麼action的值必須指定為
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
簡訊防火牆
系統傳送簡訊廣播時,是怎麼把簡訊內容存入廣播的,我們就只能怎麼取出來
如果簡訊過長,那麼發送時會拆分成多條簡訊發送,那麼簡訊廣播中就會包含多條簡訊
4.0之後,廣播接收者所在進程如果從來沒啟動過,那麼廣播接收者不會生效
4.0之後,如果系統自動關閉廣播接收者所在進程,在廣播中的action跟該廣播接收者的action匹配時,系統會啟動該廣播接收者所在的進程,但是如果是使用者手動關閉該進程,那麼該進程會進入凍結狀態,再也不會啟動了,直到使用者下一次手動啟動該進程。
廣播的分類無序廣播
- 所有與廣播中的action匹配的廣播接收者都可以收到這條廣播,並且是沒有先後順序,視為同時收到
有序廣播
- 所有與廣播中的action匹配的廣播接收者都可以收到這條廣播,但是是有先後順序的,按照廣播接收者的優先順序排序
服務
進程優先順序
前台進程:擁有一個正在與使用者互動的Activity(onResume方法被調用)的進程
可見進程:擁有一個可見但是沒有焦點的Activity(onPause方法被調用)
服務進程:擁有一個通過startService方法啟動的服務
後台進程:擁有一個不可見的Activity(onStop方法被調用)的進程
空進程:沒有擁有任何活動的應用組件的進程
電話錄音機電話的狀態
打電話檢測電話狀態,用到的就是廣播機制。
空閑狀態(電話掛斷)
TelephonyManager.CALL_STATE_IDLE
響鈴狀態
TelephonyManager.CALL_STATE_RINGING
摘機狀態(通話中)
TelephonyManager.CALL_STATE_OFFHOOK
錄音機
錄音,就是用到service。
本站文章為 寶寶巴士 SD.Team 原創,轉載務必在明顯處註明:(作者官方網站: 寶寶巴士 )
轉載自【寶寶巴士SuperDo團隊】 原文連結: http://www.cnblogs.com/superdo/p/4912483.html
[Android應用開發] 05.廣播和服務