2012-10-24 33 views
1

我做了一個應用程序,使流式無線電。我怎樣才能防止,第二次點擊圖標打開應用程序兩次?不要打開兩次相同的應用程序

+0

是你的目標是讓事件在第一時間應用啓動,但阻止其第二次? – mfrankli

+0

我的目標是不打開應用程序,如果已經打開 –

+3

我相信android系統會爲你處理這個。換句話說,如果您的軟件包位於「當前正在運行」的列表中,它會將正在運行的實例放到前臺而不是再次啓動它。 – mfrankli

回答

3

這裏是一個很好的建議:

* How to launch activity only once when app is opened for first time?

什麼,我一般都做的就是添加一個檢查中的主要活動特定的共享 偏好:如果共享的偏好是失蹤 然後啓動單一運行的Activity,否則繼續執行主要的 活動。當您啓動一次運行活動創建共享 偏好,因此不會被跳過下一次

該解決方案比你問的問題略有不同,但應該給你正是你要尋找的結果。

另一種可能性可能是在你的AndroidManifest.xml中使用android:launchMode = "singleInstance"

恕我直言...

+0

似乎是流音頻打開幾次,當我關閉應用程序關閉了一切,所以你的假設看起來似乎合理。 –

0

要流,你應該使用一個服務,使音樂即使您的應用已關閉,您仍可以繼續操作。此時您的活動僅用於與服務進行通信。當你啓動你的應用程序時,只需檢查服務是否正在運行。

0

通常情況下,如果您的活動已在運行,則系統會在用戶重新啓動後將其啓動。如果您的活動由另一個應用程序/活動在新任務中啓動,或出於其他原因,可能會使用意圖創建已運行活動的新實例,請查看清單中的singleInstance或singleTask模式:

http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

至於流媒體,你應該使用一個服務(最好是綁定服務)來包含你的媒體播放器,以便它可以繼續在後臺播放,然後該活動只是連接到它的服務的客戶端,並且服務保持單個實例。在此被描述:

Set Aac+player app as service in background

相關問題