您好,登錄后才能下訂單哦!
一.Service
Service是一種可以在后臺(tái)長(zhǎng)期運(yùn)行且不提供用戶UI的程序,常用來(lái)處理一些耗時(shí)操作性操作,如網(wǎng)絡(luò)傳輸或播放音樂(lè)。
2.Service可以分為有限生命和無(wú)限生命,當(dāng)系統(tǒng)資源不足是,Activity可能被殺掉,但Service不會(huì)。
3.啟動(dòng)Service需要在清單文件中聲明<Service>標(biāo)簽。啟動(dòng)Service有兩種方式:
Context.startService()【不綁定,無(wú)限生命】和Context.bindService()【綁定,有限生命】.
a.startService()調(diào)用onstartCommand()方法,銷毀時(shí)直接調(diào)用onDestroy()方法。
b.bindService()調(diào)用onBind()返回客戶端的一個(gè)IBinder接口,當(dāng)沒(méi)有任何對(duì)象綁定Service時(shí), Service會(huì)被系統(tǒng)銷毀。
二.BroadcastReceiver
廣播是Android系統(tǒng)應(yīng)用程序之間通信的手段,當(dāng)有特定事件發(fā)生時(shí),如來(lái)電、來(lái)短信、電池電量變化時(shí),Android系統(tǒng)都會(huì)產(chǎn)生特定的Intent對(duì)象并自動(dòng)進(jìn)行廣播,而針對(duì)特定事件注冊(cè)BroadcastReceiver可以接收到這些廣播,并獲取到Intent對(duì)象中的數(shù)據(jù)進(jìn)行處理。
在廣播Intent對(duì)象時(shí)可以指定用戶權(quán)限,只有獲得了相應(yīng)權(quán)限的BroadcastReceiver才能接收并處理相應(yīng)的廣播。
一個(gè)BroadcastReceiver對(duì)象只有在被調(diào)用了onReceive()時(shí)才有效,當(dāng)從該函數(shù)返回時(shí),該對(duì)象就無(wú)效了,生命周期也就結(jié)束了。
不能生成ui,通過(guò)NotificationManager來(lái)通知用戶有事情發(fā)生。
實(shí)例:
前面的檢測(cè)手機(jī)電量實(shí)例。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。