Service,BroadcastReceiver基礎

一.Service


  1. Service是一種可以在後臺長期運行且不提供用戶UI的程序,常用來處理一些耗時操作性操作,如網絡傳輸或播放音樂。


2.Service可以分爲有限生命和無限生命,當系統資源不足是,Activity可能被殺掉,但Service不會。


3.啓動Service需要在清單文件中聲明<Service>標籤。啓動Service有兩種方式:

Context.startService()【不綁定,無限生命】和Context.bindService()【綁定,有限生命】.

   a.startService()調用onstartCommand()方法,銷燬時直接調用onDestroy()方法。

   b.bindService()調用onBind()返回客戶端的一個IBinder接口,當沒有任何對象綁定Service時,      Service會被系統銷燬。





二.BroadcastReceiver



廣播是Android系統應用程序之間通信的手段,當有特定事件發生時,如來電、來短信、電池電量變化時,Android系統都會產生特定的Intent對象並自動進行廣播,而針對特定事件註冊BroadcastReceiver可以接收到這些廣播,並獲取到Intent對象中的數據進行處理。

在廣播Intent對象時可以指定用戶權限,只有獲得了相應權限的BroadcastReceiver才能接收並處理相應的廣播。


一個BroadcastReceiver對象只有在被調用了onReceive()時纔有效,當從該函數返回時,該對象就無效了,生命週期也就結束了。


不能生成ui,通過NotificationManager來通知用戶有事情發生。



實例:


前面的檢測手機電量實例

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章