问题是:服务每1小时向我发送一次数据,我需要启动Activity1。如果我什么也不做,它的所有时间都会创建相同的Activity1,并且在5小时内我会有5个相同的活动...那么,如何在新的活动开始之前杀死活动? 谢谢!
Intent dialogIntent = new Intent(getBaseContext(), someClass.class);
getApplication().startActivity(dialogIntent);
答案 0 :(得分:2)
那么,如何在新活动开始之前杀死活动?
你没有。
首先,您的用户会用猎刀攻击您,以便在不知名的地方突然出现活动。你不知道他们在做什么(玩游戏,输入短信等)。除了基于用户直接输入之外,只有极少数应用程序(如VOIP客户端和闹钟)应显示活动。
其次,您不会从服务中“杀死活动”。相反,您在Intent
上放置了适当的标记,以便将现有活动置于前面(如果存在FLAG_REORDER_TO_FRONT
),而不是创建新活动。
答案 1 :(得分:0)
当您可以更新旧活动时,无需杀死活动。 杀死活动并重新实例化只会导致不必要的开销。
只需编写代码,每次获取新的Intent时重置现有活动的状态。