我在我的应用程序中实现了DownloadManager。我知道DownloadManager需要最少的sdkVersion 9.但是我的应用程序应该有最小的sdkVersion为8.我在sdkVersion 8中使用AsyncTask进行下载。对于9以上的版本,我使用的是DownloadManager。以下是我的实施方式。
if (Build.VERSION.SDK_INT >= 9) {
android.app.DownloadManager downloadManager
= (android.app.DownloadManager) getActivity().getSystemService(Context.DOWNLOAD_SERVICE);
Uri downloadUri = Uri.parse(url.replace(" ", ""));
android.app.DownloadManager.Request request = new android.app.DownloadManager.Request(downloadUri);
request.setVisibleInDownloadsUi(true);
downloadManager.enqueue(request);
Toast.makeText(getActivity(), "Download started... Please find the downloading process in notificaion bar.", Toast.LENGTH_LONG).show();
}
else if (Build.VERSION.SDK_INT == 8) {
//AysncTask for downloading...
}
当我在Gingerbread中运行此代码时,DownloadManager工作正常。如果我在Froyo中运行此代码,应用程序将抛出ClassNotFoundException。我不知道为什么会发生这种情况,因为我正在检查Build版本,而DownloadManager只有在设备版本高于9时才能工作.Froyo中的错误发生在执行DownloadManager时。当我在Froyo中运行应用程序时,AynceTask应该启动,但应用程序在执行下载操作之前抛出ClassNotFoundException。如果有任何问题,请提供一些解决方案。
编辑: 我无法找到哪一行......但是当我在Froyo中使用此代码打开一个活动时,我得到了ClassNotFoundException。