本主题将继续: Android. How to start activity without creating new one?
我已经读过,单击“返回”按钮时会破坏活动。
当深入堆叠然后再调用活动时,它们不会被破坏。例如使用android:launchMode="singleTask"
当我点击按钮BACK然后再次运行活动时,是否有可能不销毁活动?
答案 0 :(得分:17)
后退按钮的默认实现是完成当前活动。然而,您可以拦截按键并按照您的意愿做任何事情。例如,您可以“调出”之前的活动,而不是完成当前的活动,从而使其看起来好像正常的实施即将到来。
要拦截后退按钮,请按:Android: intercepting back key
开始您以前的活动而不是每次都创建一个新活动:
Intent i = new Intent(this, PreviousActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
在Kotlin 1.2中:
val intent = Intent(this, RepairListActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
startActivity(intent)
祝你好运。
答案 1 :(得分:0)
您可以重新定义活动的“onBack”方法,例如
public void onBackPressed ()
{
moveTaskToBack (true);
}