我有一个任务,需要上传照片(可以是一张照片,也可以是50或100张),上传完成后显示通知。API仅支持一次上传一张照片,并且如果上传成功或失败,我需要更新UI。
显然,我的想法是创建一个服务,但由于Android现在建议使用WorkManager来执行前台/后台工作,因此我开始调查Workers和WorkManager。
我想听听社区对以下问题的意见:
考虑到上述要求,您更喜欢哪种方法:
1. 创建一个单一的长时间运行的Worker,按顺序完成所有上传,然后在完成时创建通知;或者
2. 有一个Worker专门上传单个照片,并为每个图像上传创建一个OneTimeWorkRequest和一个独立的通知Worker。
例如:
显然,我的想法是创建一个服务,但由于Android现在建议使用WorkManager来执行前台/后台工作,因此我开始调查Workers和WorkManager。
我想听听社区对以下问题的意见:
考虑到上述要求,您更喜欢哪种方法:
1. 创建一个单一的长时间运行的Worker,按顺序完成所有上传,然后在完成时创建通知;或者
2. 有一个Worker专门上传单个照片,并为每个图像上传创建一个OneTimeWorkRequest和一个独立的通知Worker。
例如:
workManager .beginUniqueWork(workUniqueId, ExistingWorkPolicy.REPLACE, uniqueUploadPhotoWorkRequestList) .then(notificationWorkRequest) .enqueue()