2011-08-11 37 views
1

我:<service android:name=".kernel.background.Process"></service> 主要包:package="call.com"安卓:我的服務並不想開始

我想創建一個過程至極將strart同步方法我的數據庫,現在我發現了一些例子,但..

這是我的後臺進程:

package call.com.kernel.background; 

import java.util.Timer; 
import java.util.TimerTask; 

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

public class Process extends Service { 

private final Timer timer = new Timer(); 

@Override 
public void onCreate() { 

    super.onCreate(); 

    startservice(); 

} 

@Override 
public IBinder onBind(Intent intent) { 
    // TODO Auto-generated method stub 
    return null; 
} 

private void startservice() { 

    timer.scheduleAtFixedRate(new TimerTask() { 

     @Override 
     public void run() { 

      System.out.println("time:"); 
      System.out.println("is:"); 
      System.out.println("up:"); 

     } 

    }, 0, 1000); 

    ; 
} 

private void stopservice() { 

    if(timer != null) { 
     timer.cancel(); 
    } 

} 

} 
+0

你遇到了什麼錯誤?請發佈Logcat的輸出。 –

+0

我沒有得到錯誤,我只是把斷點,我看到,我從來沒有去這項服務。 //我指出:onCreate和定時器內部,我沒有看到任何像System.out.print .. – Nayden

+1

你打電話給這個服務? 您是使用意圖還是從應用程序的根目錄開始? –

回答

0

我不認爲你開始什麼是Service。你正在啓動一個計時器。您可以使用單獨的Thread來執行更新操作。這裏有一個指向Painless Threading的好文章的鏈接。請參閱參考鏈接瞭解更多關於每個。

1

你在哪裏打電話給startService(...)?您代碼中的某個地方需要啓動您的服務Activity。你讀過Android Service Docs了嗎?他們對如何正確構建和啓動服務提供了很多見解。

如果你的斷點是你TimerTaskrun()方法,它沒有被擊中,那麼它肯定聽起來像服務從未叫:

Activity

所以:

Intent i = new Intent(this, Process.class); 
startService(i);