当不在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);
}
}