一般不使用原生的广播接收器,不过也有记录的必要
逗你学项目示例:
一:在需要通知的地方发送广播 ( uploadActivity)
Intent intent = new Intent("IMG_CHANGED");
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
二 :在需要接收的地方注册广播用于接收(personalActivity)
UserInfoReceiver userInfoReceiver;
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("IMG_CHANGED");
registerReciver(
userInfoReceiver, intentFilter )
三 在需要接受的地方 对广播进行处理。
(personalActivity)
private class
UserInfoReceiver
extends
BroadcastReceiver {
@Override
public void
onReceive
(Context context
,
Intent intent) {
Log.
i
(
TAG
,
"onReceive: ==========="
)
;
initData()
; 通知刷新initdata方法
}
最后在 Ondistory里面 设置 取消 需要设置它为空
/***
* 第二套方案 版本更新
*/
private class DownLoadReceiver
extends BroadcastReceiver {
@Override
public void
onReceive(Context context
, Intent intent) {
if(intent.getAction().equals(DownloadManager.
ACTION_DOWNLOAD_COMPLETE)){
DownLoadUtil.
install(MoreActivity.
this)
;
}
}
}
private DownLoadReceiver
userInfoReceiver
;
private void
initBroat() {
userInfoReceiver =
new DownLoadReceiver()
;
IntentFilter intentFilter =
new IntentFilter()
;
intentFilter.addAction(
"IMG_CHANGED")
;
registerReceiver(
userInfoReceiver
, intentFilter)
;
}
@Override
protected void
onDestroy() {
super.onDestroy()
;
unregisterReceiver(
userInfoReceiver)
;
}