要清空 Android 的任务栈,可以使用以下方法之一:
1. 使用 `FLAG_ACTIVITY_NEW_TASK` 标志启动主活动:可以在启动主活动时加入 `Intent.FLAG_ACTIVITY_NEW_TASK` 标志,这样会将原本的任务栈清空,并创建一个新的任务栈。
示例代码:
```java
Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
```
2. 使用 `FLAG_ACTIVITY_CLEAR_TASK` 标志启动活动:可以在启动活动时加入 `Intent.FLAG_ACTIVITY_CLEAR_TASK` 标志,这样会将原本的任务栈清空,并在新任务栈中启动该活动。
示例代码:
```java
Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
```
3. 使用 `ActivityManager` 清空任务栈:可以使用 `ActivityManager` 的 `restartPackage` 方法,将指定包名的任务栈清空。
示例代码:
```java
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.restartPackage(context.getPackageName());
```