当不在activity中打开activity的时候需要使用到任务栈
BaseActivity.java当activity在后台的是null,当activity回到前台的时候恢复activity
@Override
protected void onResume() {
super.onResume();
activity=this;
}
@Override
protected void onPause() {
super.onPause();
activity=null;
}
UiUtils.java最后的else部分需要使用activity启动activity
/**
* 可以打开activity
* @param intent
*/
public static void startActivity(Intent intent) {
// 如果不在activity里去打开activity 需要指定任务栈 需要设置标签
if(BaseActivity.activity==null){
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getContext().startActivity(intent);
}else{
BaseActivity.activity.startActivity(intent);
}
}
本文介绍了一种在Android应用中管理任务栈的方法,并详细解释了如何根据不同情况启动Activity。当Activity位于后台时将其置为null,返回前台时恢复,确保正确地管理应用状态。
201

被折叠的 条评论
为什么被折叠?



