我以下是Koush創建的流行Ion庫的一個示例:Download a File with a progress bar,我從one of his samples可以看到可以使用downloading.cancel()
發送取消。Koush Ion onCompleted回調 - 句柄CancellationException
注:downloading
被宣佈爲Future<File>
。
當調用cancel()
方法時,會拋出CancellationException
。我想特意處理這個異常,而不是一般地捕捉它。
我首先想到的是包裝一個try/catch塊,並使用類似:
try {
//...
} catch (CancellationException ce) {
//...
}
但是如果你看his example,你會看到onCompleted回調使用2個輸入:Exception e
和File result
。
樣品here (line 72)示出了該:
if (e != null) {
Toast.makeText(ProgressBarDownload.this, "Error downloading file", Toast.LENGTH_LONG).show()
return;
}
這似乎是,如果一個異常存在,其要概括的誤差的try/catch塊的替代方法。但是,如果CancellationException
被發現,我的目標是返回不同的敬酒信息。
。 – Radhey