1.從應用程序安裝程序安裝一個apk 2.然後只需點擊「打開」立即啓動它 3.應用程序啓動後,然後按主頁鍵 4.從應用程序列表中找到應用程序,然後單擊其圖標以再次 推出5.then應用程序將有一個新的實例啓動。 如果你重複3〜5幾次,就會重複創建一個新的實例。如果您現在按下「返回」鍵,您將看到該應用程序仍然存在於您啓動的同一時間。安卓:從應用程序的安裝程序啓動的應用程序會導致幾種情況?
但如果你只是點擊「完成」,在步驟2中,然後啓動從應用列表中的應用程序,一切都會好的呢。 爲什麼?
1.從應用程序安裝程序安裝一個apk 2.然後只需點擊「打開」立即啓動它 3.應用程序啓動後,然後按主頁鍵 4.從應用程序列表中找到應用程序,然後單擊其圖標以再次 推出5.then應用程序將有一個新的實例啓動。 如果你重複3〜5幾次,就會重複創建一個新的實例。如果您現在按下「返回」鍵,您將看到該應用程序仍然存在於您啓動的同一時間。安卓:從應用程序的安裝程序啓動的應用程序會導致幾種情況?
但如果你只是點擊「完成」,在步驟2中,然後啓動從應用列表中的應用程序,一切都會好的呢。 爲什麼?
應用程序安裝程序(以及許多Android IDE)使用與普通應用程序啓動程序不同的意圖標誌,這意味着啓動程序的意圖與活動的現有意圖不匹配,最終創建新的活動在堆棧頂部。
我認爲這個問題是類似於你問什麼:
該解決方案爲我工作。它會檢查應用程序是否以這種方式啓動,然後完成活動。這留下了應該開始的活動並將其帶到前臺。
private void checkIfActivityShouldBeFinished() {
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
// Activity was brought to front and not created,
// Thus finishing this will get us to the last viewed activity
finish();
return;
}
}