Articles of android download manager

Android在Android中以编程方式解压缩文件

我正在下载一个zip文件夹并保存在我的android设备中的特定文件夹中。我的应用程序没有访问该文件夹,因为它是压缩的。 我想从服务器下载后解压缩文件夹并保存在特定文件夹中。 我的代码就在这里 public void DownloadDatabase(String DownloadUrl, String fileName) { try { File root = android.os.Environment.getExternalStorageDirectory(); File dir = new File(root.getAbsolutePath() + “/timy/databases”); if(dir.exists() == false){ dir.mkdirs(); } URL url = new URL(“http://myexample.com/android/timy.zip”); File file = new File(dir,fileName); long startTime = System.currentTimeMillis(); Log.d(“DownloadManager” , “download url:” +url); Log.d(“DownloadManager” , “download file name:” + fileName); URLConnection […]

Android中的下载管理器是否有暂停操作?

我在android中使用下载管理器类来下载一些文件。 该类可以添加和删除下载请求。 有没有办法暂停特定的下载然后恢复它? 或者还有另一种方法吗? 编辑:我发现这样,它正在工作: 暂停下载过程时,关闭我们写的文件。 恢复下载时,访问该文件(未完成)并获取其大小 将下载的字节信息添加到httpRequest的标头:mHttpRequset.setHeader(“Range”,“bytes =”+ mPreviouslyDownloadedBytes +“ – ”); mHttpClient.execute(mHttpRequset);

在INSUFFICIENT_SPACE_ERROR之后,DownloadManager不发送广播

问题 如果cache目录已满,则尝试执行简单请求将失败,而不会发送DownloadManager.ACTION_DOWNLOAD_COMPLETE广播。 注意:这个问题很普遍,但大多数都可以在缓存有限( /data/data/com.android.providers.downloads/cache )大小的低端设备上重现。 代码 接收器配置正确,因为我在操作成功时仍然收到广播而由于其他原因失败。 DownloadManager.Request request = new DownloadManager.Request(Uri.parse(“http://www.apkmirror.com/wp-content/themes/APKMirror/download.php?id=44753”)); request.setTitle(“Facebook”); DownloadManager downloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); downloadManager.enqueue(request); 理想的解决方案 我对特定问题的解决方案感兴趣,或者如果您遇到它也会有更多信息。 我不是在寻找一个需要我停止使用DownloadManager或添加WRITE_EXTERNAL_STORAGE权限的解决方案。 日志 当缓存变满时,最后当缓存不再容纳时,您可以观察到以下日志入口(使用downloadmanager过滤) 11-08 08:47:06.079 830-14261/? I/DownloadManager: Download 135 starting 11-08 08:47:06.989 830-14261/? W/DownloadManager: Downloads data dir: /data/data/com.android.providers.downloads/cache is running low on space. space available (in bytes): -6994124 11-08 08:47:06.999 830-14261/? I/DownloadManager: discardPurgeableFiles: destination […]

暂停android DownloadManager

在我的应用程序中,我从服务器下载电影。 其中一些非常大(4GB或更多)。 我试图将我自己的下载管理器作为一项服务实现,但它并没有放弃。 在某些设备上,应用程序只是在没有任何通知的情况下崩溃,整体下载似乎太慢。 所以,我想使用Android的默认DownloadManager,但我唯一的问题是我无法暂停/恢复它。 有没有办法实现呢?

FileProvider – 从下载目录中打开文件

我无法打开“下载文件夹”中的任何文件。 我可以下载一个文件并保存在下载文件夹中: DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setDescription(descricao); request.setTitle(titulo); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); } request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, nome); enq = downloadManager.enqueue(request); 在此之后,我的文件保存在目录文件夹中:Android >>内部共享存储>>下载。 ***我看到这条路径在ubuntu中手动打开设备的高清。 由于图像显示路径。 通过ubuntu文件夹安装Android HD – 查看路径 我尝试用这个打开这个文件: downloadManager = (DownloadManager)getContext().getSystemService(DOWNLOAD_SERVICE); BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) { long […]

Android – DownloadManager / BroadcastReceiver多次调用

我正在使用DownloadManager来处理我的应用程序中的下载,我想在下载完成时通知用户。 我正在使用运行良好的下面的代码 public void downloaddownload(View v){ View v2 = (View) v.getParent(); TextView urlView = (TextView) v2.findViewById(R.id.url); String urlString = (String) urlView.getText().toString(); TextView artistView2 = (TextView) v2.findViewById(R.id.artist); final String artistString = (String) artistView2.getText().toString(); TextView titleView2 = (TextView) v2.findViewById(R.id.title); final String titleString = (String) titleView2.getText().toString(); DownloadManager.Request request = new DownloadManager.Request(Uri.parse(urlString)); request.setDescription(titleString); request.setTitle(artistString); // in order for this […]

从下载管理器android隐藏下载

我正在为Android实现一个mp3下载器。 我正在使用本机DownloadManager服务。 显然,当我下载文件时,它还会显示下载管理器应用程序中的下载(或下载)文件。 我想隐藏下载管理器中下载的文件,即我不希望文件显示在下载管理器列表中。 有没有办法实现这个?

下载管理器Android权限错误:写入外部存储

我编写了一个Android应用程序,使用DownloadManager将示例PDF文件下载到下载目录。 这是代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_vertretungsplan); Button dlbutton = (Button) findViewById(R.id.buttondownload); final Context c = this; dlbutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { DownloadManager.Request request = new DownloadManager.Request(Uri.parse(myurl)); request.setTitle(“Vertretungsplan”); request.setDescription(“wird heruntergeladen”); request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); String filename = URLUtil.guessFileName(myurl, null, MimeTypeMap.getFileExtensionFromUrl(myurl)); request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, filename); DownloadManager manager = (DownloadManager) c.getSystemService(Context.DOWNLOAD_SERVICE); manager.enqueue(request); } }); […]

我们可以打开下载文件夹吗? 意图?

实际上,我需要从我的应用程序中打开默认的Download文件夹。 可能吗? 如果是,那么请提供一些参考。 我可以通过以下方式获取Download文件夹的路径: Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) 任何帮助将不胜感激。

下载管理器不适用于LG设备

我尝试使用DownloadManager执行下载文件。 除LG设备外一切正常。 这是我的代码: private void downloadFile(FileInfo fileInfo) { private DownloadManager manager = (DownloadManager) MyApp.getSingleton(). getApplicationContext().getSystemService(Context.DOWNLOAD_SERVICE); DownloadManager.Request request = new DownloadManager.Request(Uri.parse(“https://” + MyPreference.getInstance().getBaseUrl() + “/api/v3/files/” + fileId + “/get”)); request.setDescription(MyApp.getSingleton().getApplicationContext().getString(R.string.downloading)); request.setTitle(fileInfo.getmName()); request.addRequestHeader(“Authorization”, “Bearer ” + MyPreference.getInstance().getAuthToken()); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); File dir = new File(FileUtil.getInstance().getDownloadedFilesDir()); if(!dir.exists()){ dir.mkdirs(); } request.setDestinationUri(Uri.fromFile(new File(FileUtil.getInstance().getDownloadedFilesDir() + File.separator + fileInfo.getmName()))); downloadId = manager.enqueue(request); new Thread(() […]