文章目录
一.目录结构
二.思维导图
三.出错点
1.BaseActivity中要将Activity添加到ActivityCollector的数组里,作为基类,可以将所有活动加载进来
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityCollector.addActivity(this);
}
2.BaseActivity中要在onResume() 注册广播接收器,在onPause()取消广播接收器,只要保证处于栈顶的活动才要接收这条广播即可
@Override
protected void onResume() {
super.onResume();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.example.broadcastbestpractice.FORCE_OFFLINE");
forceOfflineReceiver = new ForceOfflineReceiver();
registerReceiver(forceOfflineReceiver,intentFilter);
}
@Override
protected void onPause() {
super.onPause();
if (forceOfflineReceiver!=null) {
unregisterReceiver(forceOfflineReceiver);
forceOfflineReceiver=null;
}
}
四.源码地址
jdk1.8
gradle插件版本 gradle-6.5-bin.zip
gradle版本 gradle:4.1.1