2012-10-12 75 views
1

我的Android应用程序由许多活动,其中的每一个表示的菜单:清除活动堆栈和来自服务机器人启动新活动

  • 活性A(主活动&第一级菜单)
  • 活动B (第二级菜单)
  • 活动C(第三和最后一个菜单)

我监视用户的动作的服务。当一个事件(按服务检测)发生时,我想关闭所有活动,并重新启动活动A.我写了下面只能在一个活动,而不是服务的代码:

Intent myIntent = new Intent(); 
myIntent.setClassName("main.activity", "ActivityA"); 
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP| 
        Intent.FLAG_ACTIVITY_SINGLE_TOP); 
startActivity(myIntent); 

我怎样才能做到这一点服务?

回答

2

这个怎么样:

Intent myIntent = new Intent(); 
myIntent.setClassName("main.activity", "ActivityA"); 
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP| 
       Intent.FLAG_ACTIVITY_SINGLE_TOP| 
       Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(myIntent); 
+0

嗯,FLAG_NEW_TASK不能得到解决,或者不是一个领域。 – GVillani82

+0

对不起,错字。 FLAG_ACTIVITY_NEW_TASK –

+0

似乎正常工作!谢谢! :) – GVillani82