Android:我的服务不想启动

时间:2011-08-11 15:12:29

标签: android

我有:<service android:name=".kernel.background.Process"></service> 主要包装是:package="call.com"

我想创建一个流程,它将为我的数据库进行strart sync方法,现在我找到了一些例子,但是..

这是我的后台流程:

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();
    }

}

}

2 个答案:

答案 0 :(得分:1)

你在哪里打电话给startService(...)?代码中某处的Activity需要启动您的服务。你读过Android Service Docs了吗?他们就如何正确构建和启动服务提供了很多见解。

如果您的断点位于run()的{​​{1}}方法中并且没有被击中,那么它肯定听起来像是从未调用过该服务:

从你的TimerTask

开始
Activity

答案 1 :(得分:0)

我不认为你开始的是Service。你正在开始计时器。您可以使用单独的Thread来执行更新操作。这是一篇名为Painless Threading的好文章的链接。请参阅参考链接以了解有关每个链接的更多信息。