2011-05-10 104 views
0

其實,我發現了很多答案,但這次我完全陷入困境。在後臺工作

我的問題很簡單。我正在爲.pls流構建一個廣播流應用程序,當用戶按下主頁按鈕時,我希望我的應用程序繼續工作。我想很多人都知道ebuddy和Skype或基本的媒體播放器。他們正在把自己放到通知欄,你可以很容易地從這個地方到達他們。我試圖爲我的應用創建通知,但是當我點擊通知欄上的圖標時,我無法訪問我的應用。它直接打開我的應用程序的新版本,我無法控制流媒體,最初的工作應用程序不再存在。

回答

3

您可能需要閱讀的描述爲LaunchMode:http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

要啓動你的活動作爲singleInstance

編輯:也許singleTask會更好。

這是你想要達到的工作流程: workflow http://i55.tinypic.com/xm0llx.png

所有後臺工作必須由服務來完成。實現一個很簡單,就像創建一個活動一樣。

有關於如何做到這一點的例子很多:

+0

是的,一開始這看起來像解決方案,但是當我添加這個時,我的應用程序應該關閉(從未開始)將URL應用到應用程序。這是唯一的方法。如果我先打開它,然後嘗試打開.pls文件,則應用程序不會執行任何操作。正因爲如此,我認爲我必須瞭解服務或我必須禁用HOME按鈕並強制用戶使用EXIT,但我不想要這樣。 – Ada 2011-05-11 02:19:07

+0

@Ada這不是爲了避免服務。我認爲您的音樂已經通過服務進行了流式傳輸,並且您想要顯示該應用來控制流。所有後臺工作必須由服務完成。實現一個很簡單,就像創建一個活動一樣。有一個關於如何在這裏執行的例子:http://developer.android.com/reference/android/app/Service.html。另一個例子:http://marakana.com/forums/android/examples/60.html – Aleadam 2011-05-11 02:34:13

+0

其實,我把我的媒體流媒體播放器稱爲線程,但我知道這是完全錯誤的方式。如果我理解正確的情況,我必須將我的流媒體播放器類修改爲服務。我對嗎? – Ada 2011-05-11 04:07:23

1

您需要的實際音樂播放部分 - 或應該繼續在後臺運行的部分 - 成爲一項服務,並將gui作爲一項活動。您所做的通知應該將您的活動gui帶到flag_activity_reorder_to_front的前面。

+0

我認爲這是我的問題的正確答案,但我不知道如何使用服務,實際上我嘗試了一些關於它們的內容,但是我沒有獲得有關我的應用程序的任何信息。我會嘗試瞭解服務和應用程序之間的連接。 – Ada 2011-05-11 02:22:06