BroadcastReceiver实现强制下线功能
通过ActivityCollector管理所有的Activity
public class ActivityCollector {
public static List<Activity> activities=new ArrayList<>();
public static void addActivity(Activity activity){
activities.add(activity);
}
public static void removeActivity(Activity activity){
activities.remove(activity);
}
public static void finishAll(){
for(Activity activity:activities){
if(!activity.isFinishing()){
activity.finish();
}
}
}
}
BaseActivity 注册动态广播接收器
public class BaseActivity extends AppCompatActivity {
private ForceOffLineReceiver receiver;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ActivityCollector.addActivity(this);
}
@Override
protected void onResume(){
super.onResume();
IntentFilter intentFilter=new IntentFilter();
intentFilter.addAction("com.example.administrator.broadcastbestpractice.FORCE_OFFLINE");
receiver=new ForceOffLineReceiver();
registerReceiver(receiver,intentFilter);
}
@Override
protected void onPause(){
super.onPause()