2012-07-17 38 views
-1

在我的代碼我有2個應用程序。 啓動應用程序b的應用程序,就像啓動器一樣。問題與標誌意圖

代碼應用一個看起來像這樣:

Intent i = new Intent(Intent.ACTION_MAIN); 
    PackageManager manager = getPackageManager(); 
    i = manager.getLaunchIntentForPackage("com.test.vayo"); 
    i.addCategory(Intent.CATEGORY_LAUNCHER); 
    startActivity(i); 
    finish(); 

上的應用程序B中的代碼:

  Intent intent = new Intent(this.context, first.class); 
      intent.setFlags(intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
      context.startActivity(intent); 
      finish(); 

我的問題,即要啓動任務B只有在沒有開始應用該B.FOR我正試圖將已經運行的任務帶到前面,而不是從根目錄開始所有的活動,只是爲了帶來前所未有的任務。 因爲我正在使用FLAG_ACTIVITY_REORDER_TO_FRONT它的作品只有當我運行第一個應用程序b和應用程序a,但如果我運行一個然後運行b它沒有工作,它會從根活動開始b。

+0

我真的不明白是誰啓動誰和你想做什麼。如果你能用更加清晰的英語來解釋它,我會很樂意提供幫助。 – Erol 2012-07-17 20:19:08

+0

確定流程是應用程序啓動應用程序b,或者用戶可以直接啓動應用程序b。我想,如果b已經啓動了,並且有一個以其他方式啓動了b,我想把已經運行的任務帶到前面,希望清除 – 2012-07-17 20:26:44

回答

0

我用標誌做了一個標誌上的應用程序A和其他的一個應用程序b,國旗

intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
0

在你的清單文件,對B的發射活動,申報

android:launchMode="singleTask" 

你不需要做任何事情在B.

+0

,並且當我嘗試從其他啓動它時,它會帶給前面已經運行的任務? – 2012-07-17 20:47:49

+0

是的。試試看。如果不工作,我們可以嘗試找到另一種解決方案。 – Erol 2012-07-17 20:53:09

+0

對不起,它沒有工作我把這個添加到我在應用程序b上的飛濺活動仍然是同樣的問題 – 2012-07-18 16:56:26