好吧,那是我的问题。
我需要,当用户按下后底部时,删除所有打开的活动的堆栈:
@Override
public void onBackPressed(){
Intent i = new Intent(context, CrisolMainApp.class);
i.putExtra(CrisolMainApp.CERRAR_APP, true);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
}
关键是这适用于我的大多数手机,但昨天我尝试使用三星 Galaxy Mini(android 2.3.3)但它不工作!它不会删除活动堆栈。
有谁知道为什么?
编辑:我正在检查文档,我发现 API 11 上添加了“Intent.FLAG_ACTIVITY_CLEAR_TASK”(我的三星 Galaxy Mini 适用于 Android 2.3.3,因此,API 10)......我不知道,但我想这就是问题所在。
任何人都知道我怎样才能使它在 API 小于 11 时以相同的方式工作?
我试图通过添加这些标志,但它也不起作用:
@Override
public void onBackPressed(){
Intent a = new Intent(this, CrisolMainApp.class);
a.putExtra(CrisolMainApp.CERRAR_APP, true);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
a.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(a);
finish();
}
我也试过:
@Override
public void onBackPressed(){
Intent a = new Intent(this, CrisolMainApp.class);
a.putExtra(CrisolMainApp.CERRAR_APP, true);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
a.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(a);
finish();
}