2014-08-28 105 views
1

當我最小化我的應用程序並在移動設備上執行任何其他操作並單擊我的應用程序圖標(重新啓動)時,該應用程序將切換回之前的位置。但它會以新的實例打開。這意味着如果我按下「後退」按鈕,新的啓動應用程序已關閉,但之前打開的應用程序未關閉。單實例打開應用程序

所以我想要的是如果我的應用程序已經運行,然後最小化,並單擊啓動圖標,我只想只有一個應用程序實例到。

+1

你撥打INTENT- NEW_TASK您的任何活動? – OnePunchMan 2014-08-28 07:00:32

回答

3

覆蓋onBackPressed你應該熟悉活動launch modes

在你的情況,你可以在AndroidManifest.xml中設置:

android:launchMode="singleTop" 
的情況下,

你的活動是一個應用程序時,就到後臺

或設置爲可見的最後:

android:launchMode="singleTask" 
+0

感謝它爲我工作 – PTech 2014-08-28 08:27:33

+0

不適合我。這必須添加到應用程序標籤中嗎? – 2017-07-10 15:00:10

1

您可以在活動

@Override 
public void onBackPressed() { 


     super.onBackPressed(); 

    this.moveTaskToBack(true); 
    } 
0

我建議你從系統托盤中回想起應用程序,而不是重新啓動,每當你按下應用程序圖標時,它會從系統托盤中創建一個新實例。所以通常的做法是從系統托盤調用應用程序而不是重新啓動。

0

如果您在manifeast文件reqire您的活動組活動的只是單個實例如下...

<activity 
     android:name="com.example.activity" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" 
     android:launchMode="singleInstance" /> 
+0

有單個Activity實例,而不是單個應用程序實例。 singleInstance模式允許每個任務只有一個Activity。在大多數情況下,這不是推薦模式。 – 2014-08-28 07:45:20

相關問題