Gen*_* S. 1 android alarmmanager android-intent
我有一个每15分钟唤醒一次的AlarmService并触发一个IntentService.但是,我想确保如果以前启动的IS已经在运行,那么AlarmService不会尝试启动另一个(IS正在处理文件,如果第二个版本尝试了,则会出现奇怪的竞争条件对相同的文件采取行动).
轮询系统以查看我的IS实例是否已在运行并跳过AlarmService cron的当前迭代的最佳方法是什么?
AlarmService不会尝试启动另一个(IS正在处理文件,如果第二个版本试图对同一文件进行操作,则会出现奇怪的竞争条件).
没有竞争条件.首先,只有一个实例IntentService.其次,IntentService将只处理一个Intent在一段时间onHandleIntent().
轮询系统以查看我的IS实例是否已在运行并跳过AlarmService cron的当前迭代的最佳方法是什么?
不要这样做.在您的IntentService跟踪中,您最后一次在数据成员中工作.如果,在onHandleIntent()那个价值中null,它是你的第一次通过,所以你可能想要继续做这项工作.如果值不是null,请将其与当前时间进行比较,如果过早,则返回onHandleIntent().
| 归档时间: |
|
| 查看次数: |
1912 次 |
| 最近记录: |