2012-10-12 109 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