一、Activity與BroadcastReceiver通信
創(chuàng)新互聯(lián)不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨(dú)特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時(shí),也能得到同行業(yè)的專業(yè)認(rèn)可,能夠?yàn)樾袠I(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級(jí),滿足企業(yè)一站式營銷型網(wǎng)站建設(shè)需求,讓再小的成都品牌網(wǎng)站建設(shè)也能產(chǎn)生價(jià)值!1)新建一個(gè)BroadcastReceiver,在MainActivity里通過sendBroadcast方法發(fā)送數(shù)據(jù)
2)在MyReceiver類中重寫onReceive方法,用參數(shù)intent接收數(shù)據(jù)
二、BroadcastReceiver注冊和注銷
1)先在MyReceiver類中定義一個(gè)ACTION常量
2)在MainActivity中創(chuàng)建Intent實(shí)例,此時(shí)就不能用顯示的方法創(chuàng)建了,要用隱示的方法通過ACTION的值來實(shí)例化
3)在MainActivity中定義一個(gè)MyReceiver的對象,初始化為null。在用registerReceiver方法時(shí)要確保MyReceiver的對象為空,在用unregisterReceiver方法時(shí)確保MyReceiver對象不為空
三、BroadcastReceiver優(yōu)先級(jí)
當(dāng)有多個(gè)廣播接收器的時(shí)候,他們的ACTION一致,想設(shè)置誰先收到就可以在AndroidManifest.xml文件中的intent-filter中添加priority,數(shù)字高的先接收
當(dāng)優(yōu)先級(jí)高的接收到了想阻止后面的廣播接收器接收的話,就需要在相應(yīng)的接收器里用abortBroadcast方法停止廣播,但阻止的話在MainActivity里發(fā)送廣播的方法就不能用sendBroadcast了,不然會(huì)出現(xiàn)異常,要用sendOrderedBroadcast方法
sendOrderedBroadcast(i,null);