我有:<service android:name=".kernel.background.Process"></service>
主要包装是:package="call.com"
我想创建一个进程来为我的数据库启动同步方法,现在我找到了一些例子,但是..
这是我的后台进程:
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();
}
}
}
最佳答案
你从哪里调用 startService(...)
?您代码中某处的 Activity
需要启动您的服务。你读过Android Service Docs吗?然而?他们就如何正确构建和启动服务提供了很多见解。
如果您的断点位于 TimerTask
的 run()
方法中并且没有被击中,那么这听起来肯定像是该服务从未被调用过:
因此从您的Activity
:
Intent i = new Intent(this, Process.class);
startService(i);
关于Android:我的服务不想启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7028361/