如何优雅的退出android应用
先看看常见的几种退出app的方式:
- activity容器
- 广播式
activity容器
public class BaseActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Container.getInstance().addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
Container.getInstance().removeActivity(this);
}
}
public class Container {
private Container() {
}
private static Container instance = new Container();
private static List<Activity> activityStack = new ArrayList<Activity>();
public static Container getInstance() {
return instance;
}
public void addActivity(Activity activity) {
activityStack.add(activity);
}
public void removeActivity(Activity activity) {
activityStack.remove(activity);
}
public void finishAllActivity() {
for (int i = 0, size = activityStack.size(); i < size; i++) {
if (null != activityStack.get(i)) {
activityStack.get(i).finish();
}
}
activityStack.clear();
}
}