我有:<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();
}
}
}
答案 0 :(得分:1)
你在哪里打电话给startService(...)
?代码中某处的Activity
需要启动您的服务。你读过Android Service Docs了吗?他们就如何正确构建和启动服务提供了很多见解。
如果您的断点位于run()
的{{1}}方法中并且没有被击中,那么它肯定听起来像是从未调用过该服务:
从你的TimerTask
:
Activity
答案 1 :(得分:0)
我不认为你开始的是Service。你正在开始计时器。您可以使用单独的Thread来执行更新操作。这是一篇名为Painless Threading的好文章的链接。请参阅参考链接以了解有关每个链接的更多信息。