强制下线功能需要在任何一个界面上弹出一个对话框,让用户必须点击对话框中的确定按钮,关闭所有活动,然后回到登录界面即可。
1、创建ActivityCollector类用于管理活动。
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();
}
}
activities.clear();
}
}
2、创建BaseActivity类作为所有活动的父类。
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
}
3、创建一个登录界面的Activity,并编辑修改生成的activity_login.xml。
该布局外层为一个垂直LinearLayout,包含三个子元素,第一行与第二行为一个横向LinearLayout,分别用于输入账户信息与密码,第三行为一个登录按钮。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"