收到消息后,我需要将活动介绍到最前面。我使用以下代码:

public void BringToFront()
{
    Intent intent = new Intent();
    intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
    intent.setClass(getApplicationContext(), getClass());
    startActivity(intent);
}


当我把活动放在最前面时,即使活动没有被操作系统杀死,以前的数据也会丢失。有没有一种方法可以在不丢失数据的情况下恢复活动,或者仍然需要恢复数据?

谢谢

最佳答案

您的代码无效。您的活动只有在最前面时才处于活动状态。如果不在前面,则无法处理,因此将永远不会调用您的方法。一个活动应始终将其要保留的数据保存在onSaveInstanceState或更改数据时。在活动之间保存数据的方法有很多。
如果您希望活动位于最前面,则必须关闭所有活动。如果您再次需要这些活动,则应让它们保存其数据,然后使用新数据重新启动它们。

我建议您阅读有关活动如何工作的文档。

08-18 18:41
查看更多