我试图做一个方法来下载文件,但在请求中的方法中,它有一个函数调用,显示下载通知。问题是我的应用程序所需的最低api是API 9,并且IDE向我显示错误,因为setNotificationVisibility适用于API 11及更高版本。如何避免API级别警告?
这是我的源代码:
public void init_download(String title, String filename, String url) {
File path = new File(Environment.DIRECTORY_DOWNLOADS);
if (!path.exists()) {
path.mkdirs();
}
Uri downloadUri = Uri.parse(url);
DownloadManager.Request request = new DownloadManager.Request(downloadUri);
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE)
.setAllowedOverRoaming(false)
.setTitle(title)
.setDescription(getResources().getString(R.string.downloading))
.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, filename);
.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
long id = downloadManager.enqueue(request);
//Save the request id
SharedPreferences.Editor PrefEdit = shared_pref.edit();
PrefEdit.putLong("DOWNLOAD_ID", id);
PrefEdit.commit();
}
我该如何解决这两个版本中运行的通知?
谢谢。
另一个问题是通知只显示几毫秒,但它不会保留在状态栏中。 – MAOL 2014-08-29 09:48:58