2011-02-23 242 views
0

问题是:服务每1小时向我发送一个数据,我需要启动Activity1。如果我什么都不做,它的所有时间都会创建相同的Activity1,并且在5小时内我将有5个相同的活动...那么,如何在新活动开始之前杀死活动? 谢谢!Android:服务启动活动

  Intent dialogIntent = new Intent(getBaseContext(), someClass.class); 
      getApplication().startActivity(dialogIntent); 
+0

希望在那里应该有粘性帖子许多doesn懒得检查元BTW +1好评 – ingsaurabh 2011-02-23 11:09:50

回答

2

那么,如何杀活动之前,新的开始?

你不知道。

首先,你的用户会用狩猎刀攻击你,在不知不觉中弹出一个活动。你不知道他们在做什么(玩游戏,输入文字信息等)。除了基于直接用户输入之外,只有少数应用程序(如VOIP客户端和闹钟)应显示活动。

其次,您不会从服务中“杀死活动”。而是在您的Intent上放置适当的标志,以将现有活动置于最前(如FLAG_REORDER_TO_FRONT),而不是创建新标志。

+1

“你的用户会用狩猎刀攻击你弹出”我知道它的坏主意......但这就是他们想 – Jim 2011-02-23 14:20:55

0

当您只需更新旧的活动时,就没有必要杀死一个活动。 杀死活动并重新实例化它只会导致不必要的开销。

只需编写代码以在每次获取新的Intent时重置现有活动的状态。