2012-08-06 125 views
0

我試圖啓動BackgroundService但我沒有運行它。這裏的服務代碼:BackgroundService不會啓動

import android.app.Service; 
import android.content.Intent; 
import android.os.Handler; 
import android.os.IBinder; 

public class BackgroundData extends Service { 

    private final Handler handler = new Handler(); 
    Intent intent; 
    int time; 

    @Override 
    public void onCreate() { 
     // Called on service created 

     time = 1000; 
    } 

    @Override 
    public void onStart(Intent intent, int startid) { 

     handler.removeCallbacks(sendUpdatesToUI); 
     handler.postDelayed(sendUpdatesToUI, time); // 1 sec 
    } 

    private Runnable sendUpdatesToUI = new Runnable() { 
      public void run() { 

       System.out.println("OMEGAN..."); 

       handler.postDelayed(this, time); // 1 sec 
      } 
     }; 

    @Override 
    public IBinder onBind(Intent intent) { 
     return null; 
    } 
} 

這裏就是我如何調用該服務啓動:

startService(new Intent(this, BackgroundData.class)); 

這是什麼問題?此代碼是從這裏:http://android-codes-examples.blogspot.com.es/2011/11/running-service-in-background-on.html

我已經改變它使用它,因爲我想和它的工作原理,但是當我將它實現到我的代碼,它不起作用。

有什麼想法?

預先感謝您!

+2

當您啓動該服務,你得到的logcat的任何錯誤?你確定知道你的服務沒有運行嗎?嘗試將一條日誌語句作爲onCreate()中的第一行進行驗證。你還在哪裏從一個Activity調用startService()?廣播接收器?如果是後者,可能服務很好,但接收器沒有正確接收。 – FoamyGuy 2012-08-06 13:43:12

+0

Hi @Tim。我沒有在logcat中發現任何錯誤,並且我幾乎可以確定該服務不會啓動,因爲我嘗試了您告訴我的和System.out.println(「SOMETHING」);'不出現在日誌中......並且我從Activity中調用startService。 – 2012-08-06 13:47:20

+0

您是否在清單文件中聲明瞭該服務? – 2012-08-06 13:53:21

回答

0

好吧,我發現我的問題。我宣佈.BackgroundData,但這個文件被放在其他包。

我解決了改變.BackgroundDatamy.own.package.BackgroundData