【发布时间】:2022-01-10 02:24:41
【问题描述】:
我的用例很简单。在后台上传多张图片并在通知中显示进度。现在我想在用户按下通知中的取消按钮时取消此任务。由于上传任务无法序列化,那么我应该如何取消该特定上传任务?
【问题讨论】:
标签: java android firebase google-cloud-platform firebase-storage
我的用例很简单。在后台上传多张图片并在通知中显示进度。现在我想在用户按下通知中的取消按钮时取消此任务。由于上传任务无法序列化,那么我应该如何取消该特定上传任务?
【问题讨论】:
标签: java android firebase google-cloud-platform firebase-storage
在后台上传多张图片并在通知中显示进度。
对于这些操作,我假设您使用的代码行与此类似:
UploadTask uploadTask = storageReference.putFile(filePath);
现在我想在用户按下通知中的取消按钮时取消此任务。
如上面的代码行所示,在StorageReference 对象上调用的putFile(Uri uri) 方法返回一个UploadTask 类型的对象。这个类是StorageTask的子类,从术语上讲是ControllableTask的子类,也是CancellableTask的子类。
由于这些类之间有继承关系,可以简单的调用CancelableTask的cancel()方法:
尝试取消任务。
为了取消任务。在代码中应该是这样的:
uploadTask.cancel();
【讨论】:
intent.putExtra("task", (Parcelable) uploadTask);。但是uploadTask 不是Parcelable 也不是Serializable。 @Alex_Mamo