2011-08-01 101 views
1

我有一項活動和一項服務。當我按主頁按鈕時,活動暫停並且服務啓動。我想,當我再次開始我的應用程序停止服務和我的活動開始....謝謝。Android:從服務恢復到活動

+0

有沒有你不能有你的服務的運行也WH一個理由你的活動是在前臺? – Marmoy

+0

這是錯誤的路要走。請參閱下面的答案。 – Marmoy

回答

0

更改您的設計。

無需在活動和服務中播放音樂之間切換。相反,您應該繼續在服務中播放,並使用例如BroadcastReceivers不斷更新活動。

這些廣播接收器應在活動的OnResume中註冊,並在活動的OnPause中註銷。

Using a Service with MediaPlayer從官方Android文檔

+0

是的,但如何服務將通知我的活動(當我的應用程序在前臺),以便,例如更新我的滑塊。你可以給我一個例子嗎? – Tim

+0

使用broadcastreceiver將服務中的廣播消息用於活動。以下是一個示例:http://www.websmithing.com/2011/02/01/how-to-update-the-ui-in-an-android-activity-using-data-from-a-background-service/ – Marmoy

+0

好吧,它適用於我,現在我在我的活動(播放暫停)中有一個按鈕,我如何在我的服務中發送信息以便開始暫停我的播放器?謝謝.. – Tim

0

停止OnResume()中的服務。在OnPause()中啓動服務。

+0

如何在OnResume()中停止服務? – Tim

+0

stopService(new Intent(getApplicationContext(),YourServerice.class)); – DeeV

+0

謝謝,但我想從我的服務中首先採取一些信息,然後停止它... – Tim

0

如果你不想/不能改變你的應用程序的設計,您必須在服務中使用此標誌與您的意圖:

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

如果你不想讓你的活動的新實例,在AndroidManifest文件中設置launchMode爲您的活動:

android:launchMode="singleTask"