清除活动堆栈并从服务android启动新的Activity

时间:2012-10-12 19:35:47

标签: android android-activity android-service

我的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);

如何在服务中执行此操作?

1 个答案:

答案 0 :(得分: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);