黑馬程序員安卓教程:廣播接收者之卸載安裝_第1頁
黑馬程序員安卓教程:廣播接收者之卸載安裝_第2頁
黑馬程序員安卓教程:廣播接收者之卸載安裝_第3頁
黑馬程序員安卓教程:廣播接收者之卸載安裝_第4頁
黑馬程序員安卓教程:廣播接收者之卸載安裝_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

黑馬程序冕黑馬程序冕www.iiTi^ifW8『曹廣播接收者之卸載安裝在Android開發(fā)中,我們常常需要監(jiān)聽系統(tǒng)APP的安裝和卸載廣播事件。下面我們將通過一個Demo來監(jiān)聽系統(tǒng)的啟動廣播事件。設(shè)計需求:開發(fā)一個能夠監(jiān)聽Android設(shè)備上APP卸載和安裝的應(yīng)用,開發(fā)人員可以獲取該卸載和安裝事件,然后再做一些相關(guān)的業(yè)務(wù)邏輯事件。編寫廣播接收者新建工程“05_安裝卸載監(jiān)聽”,在該工程的包下新建一個類“AppStatusReceiver”,此時工程結(jié)構(gòu)如圖1-1所示:圖1-1所示編寫“AppStatusReceiver”使之繼承BroadcastReceiver并重寫onReceive方法。具體代碼如例1-1:例1-1publicclassAppStatusReceiverextendsBroadcastReceiver{^OverridepublicvoidonReceive(Contextcontext,Intentintent){}}例1-1編寫了一個廣播接收者即AppStatusReceiver,一旦接收到對應(yīng)的廣播就執(zhí)行onReceive方法。廣播接收者已經(jīng)編寫完成,我們還需要注冊該廣播接收者。聲明該廣播接收者在項目清單文件中注冊該廣播接收者AppStatusReceiver,代碼如下例1-2:例1-2<application><receiverandroid:name="com.itheima.appstatus.AppStatusReceiver"></receiver></application>指定接收的意圖在“05_安裝卸載監(jiān)聽”應(yīng)用中,我們只對APP安裝和卸載等相關(guān)廣播事件感興趣,對于其他的系統(tǒng)廣播并不感興趣。為此,我們需要指定該廣播接收者所要接收的系統(tǒng)廣播。代碼如例1-3:例1-3<application><receiverandroid:name="com.itheima.appstatus.AppStatusReceiver"><intent-filter><actionandroid:name="ent.action.PACKAGE_INSTALL"/><actionandroid:name="android,intent.action.PACKAGE_REMOVED"/><actionandroid:name="ent.action.PACKAGE_REP^CED"/><dataandroid:scheme="package"></data></intent-filter></receiver></application>從例1-3可知:我們可以通過意圖過濾器來指定廣播接收器需要接收的系統(tǒng)廣播。由于我們只對APP安裝,卸載,更新的廣播事件感興趣,因此,我們需要使用三個<action>標(biāo)簽來分別定義這三個廣播動作事件,同時還需要注意的是:我們還需要在<data>標(biāo)簽中聲明其scheme屬性的值。在例1-1中我們雖然重寫了onReceive方法,但沒有編寫該方面的業(yè)務(wù)邏輯,調(diào)整例1-1代碼如例1-4所示:例1-4所示publicclassAppStatusReceiverextendsBroadcastReceiver{^OverridepublicvoidonReceive(Contextcontext,Intentintent){Stringaction=intent.getAction();if("ent.action.PACKAGE_INSTALL".equals(action)){System.out.println("應(yīng)用程序被安裝了,"+intent.getData());}elseif("ent.action.PACKAGE_REMOVED".equals(action)){System.out.println("應(yīng)用程序被卸載了,"+intent.getData());}elseif("ent.action.PACKAGE_REPLACED".equals(action)){System.out.println("應(yīng)用程序被替換了,"+intent.getData());}}}

做變中國IT教育,盤們正在行動南畿IT故牌從例1-4可知:調(diào)用Intent的getAction我們可以得到系統(tǒng)廣播的內(nèi)容action,然后通過判斷該action的值來區(qū)別這個action代表什么廣播事件。運行程序,一旦系統(tǒng)廣播了相應(yīng)的事件AppStatusReceiver做變中國IT教育,盤們正在行動南畿IT故牌? 當(dāng)刪除模擬器桌面上的某一個APP時,效果如圖1-2所示:1J回2 甘*?2:10a 省電助手eeHjKEhur*Ih^ai^Uninstallapplication?Thlsapplicsdon麗1|beuninsralled.?dfe00ORADmi偵山由聽ASHaniMBrvUhywptipikdhc^wrEll.pwidrir^piilOis \ carxel點擊“o

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論