タイマー タスクを含むサービスを開発し、デバイスの追跡記録を保持するために 5 分ごとに実行され、5 分ごとにデータベースにレコードが追加されます。
電話が動いていないとき、私のサービスは正常に機能しています。つまり、本来あるべき5分ごとにレコードを提供します。しかし、電話が移動している場合、10分または20分後にポイントが更新されることに気付きました。つまり、ユーザーが移動中に途中で停止するたびにです。
はいの場合、移動中にサービスがフリーズします。whatsappメッセンジャーはどのように管理していますか?? 助けてください!私は 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);
}