2011-12-30 159 views
1

我昨天嘗試了第一次創建Android服務。我們基本上需要一種機制,每30分鐘檢查一次服務器的狀態。我已經看過4或5個有很多好評的教程,但我似乎無法讓我的服務工作。Android服務不會在後臺運行

接下來的一個教程,我設法讓服務運行並每分鐘打印一次,效果很好。問題是當我退出應用程序時(我的意思是在應用程序關閉之前點擊「返回」按鈕,或者甚至通過點擊主鍵)服務似乎停止。

如果我的代碼不是這麼混亂,我會發布一些。我基本上希望服務在用戶第一次啓動應用程序時啓動(或者命中某個特定的按鈕,這並不重要),並且無論用戶是否退出應用程序都不斷運行,並執行服務器檢查每半小時一次,並可能在某些情況下播放聲音(再次,無論該應用程序是否在視覺上運行)。是否有人爲我想實現的目標提供任何僞代碼?也許還有更多關於我應該實施的具體方法的細節以及何時調用它們?

非常感謝。如果可能的話,我想在長週末之前完成這件事。

回答

1

退房本教程Running a Service in the Background.

這似乎正是你需要的。

你也將需要有一個broadcastreceiever這樣,當設備重新啓動您的服務將啓動。(如果你想要這個)

退房答案在此線程。

Android app with Service only

+0

檢查manifes,並確保它具有 「遠程一部分的過程<服務 機器人:名字=」 Tclass_name」 android:process =「:remote」> 2011-12-30 15:25:40

+0

是的,我認爲它實際上是工作。我認爲如果Activity的onDestroy()方法被調用,我不能再打印到日誌? – PaulG 2011-12-30 15:27:43

0

**

- package com.Touch; import android.app.Service; import 
    android.content.Intent; import android.media.MediaPlayer; import 
    android.os.IBinder; public class BackServices extends Service { 
     @Override 
     public IBinder onBind(Intent arg0) { 
      return null; 
     } 
     @Override 
     public void onCreate() { 
     } 
     @Override 
     public void onDestroy() { 
     } 
     @Override 
     public void onStart(Intent intent, int startid) { 
     } } 

**