Android - 每 15 分钟运行一次后台任务,即使应用程序未运行也是如此
我需要构建一个每 10/15 分钟运行的后台任务(这并不重要,两者都很好),即使应用程序未运行也是如此。
我该如何做到这一点?我似乎无法将我的头缠绕在这件事上。
我读到我可以使用某种runnable()功能或使用后台服务或AlarmManager。我正在考虑后台服务,因为它也必须在应用程序本身未运行时完成。
什么是更好的方法来做到这一点,我该怎么做?
我需要构建一个每 10/15 分钟运行的后台任务(这并不重要,两者都很好),即使应用程序未运行也是如此。
我该如何做到这一点?我似乎无法将我的头缠绕在这件事上。
我读到我可以使用某种runnable()功能或使用后台服务或AlarmManager。我正在考虑后台服务,因为它也必须在应用程序本身未运行时完成。
什么是更好的方法来做到这一点,我该怎么做?
您已经确定了执行代码片段的时间(间隔),最好使用AlarmManager,因为它的能源效率更高。如果你的应用需要侦听某种事件,那么服务就是你需要的。
public static void registerAlarm(Context context) {
Intent i = new Intent(context, YOURBROADCASTRECIEVER.class);
PendingIntent sender = PendingIntent.getBroadcast(context,REQUEST_CODE, i, 0);
// We want the alarm to go off 3 seconds from now.
long firstTime = SystemClock.elapsedRealtime();
firstTime += 3 * 1000;//start 3 seconds after first register.
// Schedule the alarm!
AlarmManager am = (AlarmManager) context
.getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime,
600000, sender);//10min interval
}
报警管理器(系统服务)与具有内部报警实现的远程服务(单独进程)?
警报管理器是您的选择,因为它已经具有您需要的内容,您只需要设置警报间隔