我需要为我的Android应用程序提供后台服务,每5分钟调用一次web服务并将接收到的数据存储在数据库中。 Web服务已经完全正常运行,每5分钟就有新数据可用。此外,我如何使这项服务在精确的时间制作网络电话,我需要它在特定的几分钟和几秒钟内拨打电话。
例如,它必须在12:05:05然后在12:10:05进行调用,然后在12:15:05进行调用,依此类推。这样做的原因是因为webservice在精确的时间有新数据,我想尽快得到它。什么可能是这个问题的最佳解决方案?
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用AlarmManager启动调用Web服务的IntentService。
Here是对这种技术的一个很好的解释。
答案 2 :(得分:0)
你必须每隔5分钟使用以下代码调用方法。
// some time when u want to run
Date when = new Date(System.currentTimeMillis());
try{
Intent someIntent = new Intent(someContext,MyReceiver.class); // intent to be launched
// note this could be getActivity if you want to launch an activity
PendingIntent pendingIntent = PendingIntent.getBroadcast(
context,
0, // id, optional
someIntent, // intent to launch
PendingIntent.FLAG_CANCEL_CURRENT); // PendintIntent flag
AlarmManager alarms = (AlarmManager) context.getSystemService(
Context.ALARM_SERVICE);
alarms.setRepeating(AlarmManager.RTC_WAKEUP,
when.getTime(),
AlarmManager.INTERVAL_FIFTEEN_MINUTES,
pendingIntent);
}catch(Exception e){
e.printStackTrace();
}