我开发了一项服务,其中包括计时器任务,每 5 分钟运行一次以保持设备的跟踪记录,每 5 分钟向数据库添加一条记录。
当手机没有移动时,我的服务工作正常,即它应该每 5 分钟后提供一次记录。但是我注意到,当手机在移动时,它会在 10 或 20 分钟后更新积分,即每当用户在移动时停下来。
如果是的话,服务是否会在移动中冻结!whatsapp Messenger如何管理它?请帮忙!我正在写我的 onstart 方法。请帮忙
@Override
public void onStart(Intent intent, int startId) {
Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
Log.d(TAG, "onStart");
mLocationClient.connect();
final Handler handler_service = new Handler();
timer_service = new Timer();
TimerTask thread_service = new TimerTask() {
@Override
public void run() {
handler_service.post(new Runnable() {
@Override
public void run() {
try {
some function of tracking
}
});
}
};
timer_service.schedule(thread_service, 1000, service_timing);
//sync thread
final Handler handler_sync = new Handler();
timer_sync = new Timer();
TimerTask thread_sync = new TimerTask() {
@Override
public void run() {
handler_sync.post(new Runnable() {
@Override
public void run() {
try {
//connecting to the central server for updation
Connect();
} catch (Exception e) {
// TODO Auto-generated catch block
}
}
});
}
};
timer_sync.schedule(thread_sync,2000, sync_timing);
}