私は、アプリが開いている場合は1時間後に調整されたGPSを送信する必要があり、ログアウト後にアプリが開かれると、アプリが起動したときに調整されたGPSがサーバーに送信され、アプリが開いたままの場合は送信されるアプリを作成しています1時間の間、gps座標が送信され、アプリが1時間前に閉じられた場合、アプリはgps座標を送信しません。私のコードは次のとおりです。
TimerTask timer_task = new TimerTask() {
public void run()
{
Log.v(".............................................", "Timer Task Started");
System.out.println("@@@@@@@@@@ timer task started IN TRACKER11111");
try
{
// if (locn != null)
{
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
String time = sdf.format(cal.getTime());
String xml = xml parameters being send to server
System.out.println(xml);
System.out.println("hello");
System.out.println("Xml is : "+xml);
// FileSave obj9=new FileSave();
// obj9.Save(xml);
int len = xml.length();
byte[] data = xml.getBytes();
System.out.println("Length =**************************** " + len);
System.out.println("Stream Closed");
conMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (conMgr.getActiveNetworkInfo() != null && conMgr.getActiveNetworkInfo().isAvailable() && conMgr.getActiveNetworkInfo().isConnected())
{
//if (gps.equals("yes"))
{
new Connection(data);
}
}
else
{
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
};
Timer timer = new Timer();
timer.scheduleAtFixedRate(timer_task, 4000, 3600000);
}
catch (Exception e1) {
e1.printStackTrace();
}