每分钟更新一次的最佳方式

时间:2013-05-16 09:33:15

标签: android

我需要通过检查xml每分钟进行一次更新,以了解我是否需要更新。

我在某种程度上犹豫不决,因为我没有完全理解android上的服务

我可以发出警报,每隔一分钟我的活动需要成为一个reicever或服务吗?

我可以每分钟启动一项服务而不会发出警报吗?

或者我需要在我的服务中制作一个每分钟启动一个功能的循环吗?

并且我可以(如果我使用闹钟和launche许多时间相同的活动/服务)保持变量,以知道我是否需要更新我的意思是如果我需要在更新期间dll大文件它可以超过1分钟,我不要同时启动多个更新,所以我需要使用布尔值来知道更新是否有效。

2 个答案:

答案 0 :(得分:0)

你不愿意回答我:P

我找到了什么。 我已经创建了一个Update类,它扩展了Service one Update执行所有更新并退出服务,服务不会一直在后台运行 我加入了一个闹钟管理员,每60秒发一次 我的代码看起来像这样

Intent i = new Intent();
ComponentName comp = new ComponentName(getPackageName(),Update.class.getCanonicalName());
i.setComponent(comp);
PendingIntent pending = PendingIntent.getService(this, 0, i,PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager amgr = (AlarmManager) getSystemService(ALARM_SERVICE);
amgr.setRepeating(AlarmManager.RTC, SystemClock.elapsedRealtime(),60000, pending);

我仍然不知道它是最好的方法还是最好的方式来做它但是它的工作。

答案 1 :(得分:0)

我认为这是一个好主意。我也在寻找类似的解决方案。另一个是注册一个广播接收器来计时和仅在几个小时内更新应用程序(参见How to update an app widget on midnight?),但我认为您的解决方案在节省CPU资源方面是最好的。不要为ACTION_BOOT_COMPLETED注册BR,它会重新启动您的更新服务。