版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
IntentService2023/9/28092023/9/28認識IntentService使用IntentService目錄CONTENT12參考教材:《Android應(yīng)用開發(fā)項目化教程》認識IntentService特點IntentService是Service的子類,它使用一個工作線程處理所有啟動請求,但每次只執(zhí)行一個請求。使用這個類時,僅需要實現(xiàn)onHandleIntent()方法來處理請求即可。IntentService屬于啟動式Service。1認識IntentService主要功能創(chuàng)建默認的工作線程,用于在應(yīng)用的主線程外執(zhí)行傳遞給onStartCommand()的所有Intent。創(chuàng)建工作隊列,用于將一個Intent逐一傳遞給onHandleIntent()實現(xiàn),這樣就永遠不必擔(dān)心多線程問題。在處理完所有啟動請求后停止服務(wù),因此永遠不必調(diào)用stopSelf()。提供onBind()的默認實現(xiàn)(返回null)。提供onStartCommand()的默認實現(xiàn),可將Intent依次發(fā)送到工作隊列和onHandle
Intent()實現(xiàn)。1認識IntentService局限不可以直接和UI做交互。為了把他執(zhí)行的結(jié)果體現(xiàn)在UI上,需要把結(jié)果返回給Activity。工作任務(wù)隊列是順序執(zhí)行的,如果一個任務(wù)正在IntentService中執(zhí)行,此時你再發(fā)送一個新的任務(wù)請求,這個新的任務(wù)會一直等待直到前面一個任務(wù)執(zhí)行完畢才開始執(zhí)行。正在執(zhí)行的任務(wù)無法打斷。1使用IntentService工作流程客戶端通過startService(Intent)來啟動IntentService。不需要手動地控制IntentService,當(dāng)任務(wù)執(zhí)行完后,IntentService會自動停止??梢詥覫ntentService多次,每個耗時操作會以工作隊列的方式在IntentService的onHandleIntent回調(diào)方法中執(zhí)行,并且每次只會執(zhí)行一個工作線程,依次執(zhí)行。2使用IntentService示例創(chuàng)建IntentService,并在在Manifest文件中聲明2使用IntentService示例創(chuàng)建任務(wù)請求并發(fā)送到IntentService為了創(chuàng)建一個任務(wù)請求并發(fā)送到IntentService。需要先創(chuàng)建一個顯式Intent,并將請求數(shù)據(jù)添加到intent中,然后通過調(diào)用startService()方法把任務(wù)請求數(shù)據(jù)發(fā)送到IntentService。2使用IntentService示例利用IntentService發(fā)送任務(wù)狀態(tài)為了在IntentService中向其他組件發(fā)送任務(wù)狀態(tài),首先創(chuàng)建一個Intent并在data字段中包含需要傳遞的信息。作為一個可選項,還可以給這個Intent添加一個action與dataURI。下一步,通過執(zhí)行LocalBroadcastManager
.sendBroadcast()來發(fā)送Intent。Intent被發(fā)送到任何有注冊接受它的組件中。為了獲取到LocalBroadcastManager的實例,可以執(zhí)行g(shù)etInstance()。2使用IntentService示例接收來自IntentService的狀態(tài)廣播為了接受廣播的數(shù)據(jù)對象,需要使用BroadcastReceiver的子類并實現(xiàn)BroadcastReceiver.onReceive()的方法,這里可以接收LocalBroadcastManager發(fā)出的廣播數(shù)據(jù)。2使用IntentService示例接收來自IntentService的狀態(tài)廣播一旦定義了BroadcastReceiver,也應(yīng)該定義actions,categories與data用過濾廣播。為了實現(xiàn)這些,需要使用IntentFilter。2使用IntentService示例接收來自IntentService的狀態(tài)廣播為了給系統(tǒng)注冊這個BroadcastReceiver和IntentFilter,需要通過LocalBroadcastManager執(zhí)行registerReceiver()的方法。2使用IntentService示例接收來自IntentService的狀態(tài)廣播一個BroadcastReceiver可以處理多種類型的廣播數(shù)據(jù)。每個廣播數(shù)據(jù)都有自己的ACTION。這個功能使得不用定義多個不同的BroadcastReceiver來分別處理不同的ACTION數(shù)據(jù)。為BroadcastReceiver定義另外一個IntentFilter,只需要創(chuàng)建一個新的IntentFilter并重復(fù)執(zhí)行registerReceiver()即可。2使用IntentService示例接收來自IntentService的狀態(tài)廣播
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 濕地修復(fù)工程監(jiān)測與數(shù)據(jù)分析2025版合同2篇
- 二零二五版物流倉儲設(shè)施建設(shè)與運營合同2篇
- 二零二五年度節(jié)能工廠租賃合同編制要則3篇
- 二零二五版旅游度假區(qū)基礎(chǔ)設(shè)施建設(shè)項目包工合同范本2篇
- 二零二五年度飛機銷售合同附帶飛行員培訓(xùn)及考核協(xié)議3篇
- 二零二五年度公寓裝修及設(shè)施配套合同3篇
- 二零二五版出口貨物安全檢驗合同規(guī)定與流程3篇
- 二零二五年度汽車租賃合同解除與終止范本匯編3篇
- 二零二五版汽車維修擔(dān)保書之擔(dān)保函與擔(dān)保合同3篇
- 二零二五版別墅窗簾設(shè)計、安裝及智能家居集成合同3篇
- 第三十六屆全國電力行業(yè)風(fēng)力發(fā)電運行檢修職業(yè)技能競賽基礎(chǔ)理論題庫附有答案
- 2024年紀(jì)檢監(jiān)察綜合業(yè)務(wù)知識題庫含答案(研優(yōu)卷)
- 科室醫(yī)療質(zhì)量與安全管理小組工作制度
- 中華民族共同體概論課件第五講大一統(tǒng)與中華民族共同體初步形成(秦漢時期)
- 初二生地會考試卷及答案-文檔
- 私營企業(yè)廉潔培訓(xùn)課件
- 施工單位值班人員安全交底和要求
- 中國保險用戶需求趨勢洞察報告
- 數(shù)字化轉(zhuǎn)型指南 星展銀行如何成為“全球最佳銀行”
- 中餐烹飪技法大全
- 靈芝孢子油減毒作用課件
評論
0/150
提交評論