我已经使用通知来显示下载文件的状态。我只是使用 FileOutputStream 来下载文件,因此它也可以在小于 9 的 API 上工作。但现在我的问题是下载完成后,我试图在相应的阅读器中打开该文件。但是如果我关闭应用程序,在下载文件之间,它会引发窗口泄漏的异常。
我的进度更新方法代码如下,请帮助我摆脱困境。
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
progressUpdate(values[0]);
}
@SuppressWarnings("deprecation")
public void progressUpdate(int percentageComplete) {
CharSequence contentText = percentageComplete + "% complete";
mNotification.setLatestEventInfo(mContext, mContentTitle, contentText,
mContentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mNotification);
if(percentageComplete==100){
try {
Log.e("file path ",file.getAbsolutePath());
Uri path = Uri.fromFile(file);
notificationIntent.setDataAndType(path, "application/pdf");
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(notificationIntent);
finish();
} catch (ActivityNotFoundException e) {
Toast.makeText(getApplicationContext(),
"Unable to open file ,PDF Reader application is not installed in your device", Toast.LENGTH_SHORT).show();
}
}
}