廣播(Broadcast)是一種運用在應用程序之間傳遞消息的機制android
廣播接收者(BroadcastReceiver)是用來過濾、接收井響應廣播的一類組件
廣播接收者能夠監聽系統中的廣播消息,在不一樣組件之問進行通訊
1發送廣播
/8.之前版木ide
動做:廣播地址,p包名應用名稱this
Intent intent=new Intent("com.imau.broadcast"):參數:inten權限component
sendBroadcast(intent):ci
/8.0以後版本get
Intent intent=new Intent ("com example. mymess age):/設置廣播接收具體信息;it
intent. setPackage("com. fmau. broadcast"):io
/參數:廣播接收者報名comimau, broadcasto廣播接收者具體類全路徑com.imau. broadcastdemo. MyBroadcas //intent. setcomponent(newast
componentNane(getPackageName getPackageName (+" MyReceiver")) sendBroadcast(intent, nul1)class
廣播註冊
二、註冊廣播接收者
靜態註冊:配置文件中
<1---配文件:靜註冊-
receiver android:name. MyBroadcast
android: enabled="true android: exported="true"> cintant-filter
--動做name和廣播action發送者-- caction android: nare="aaaa">c/action> </intent-filter>
</receiver>
動態註冊va代碼中
//1.構建 IntentFilter
IntentFilter recevierFilter=new IntentFilterO; recevierFilter. addAction("com. example. mymessage):/註冊接收者到應用中
receiver=new MyReceiver O;數:接收者過濾器
registerReceiver(receiver, recevierFilter);
三、給本地應用發送廣播
1建立一個本地廣播管理器LocalBroadcastManager
broadcastManager=LocalBroadcas tManagergetInstance(MainActivity.this);/2構建廣播動做IntentFilter intentFilter=new IntentFilter("com.example.mymessage"):3註冊廣播接收和動做broadcastManager. registerReceiver intentFilter)/4.發送廣播Intent intent=new Intent ("com.example. mymessage"): broadcastManager. sendBroadcast(intent):