在Android中,通过设置Activity的launchMode属性为singleTask或singleInstance可以解决从主屏幕返回时活动堆栈不保留的问题。
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
这将启动一个新的主屏幕Activity,并清除当前活动堆栈。返回时,将会重新创建主屏幕Activity,并且之前的活动堆栈将保留。
注意:使用singleTask或singleInstance模式会改变Activity的行为,需要根据具体需求进行选择。