Articles of android download manager

直到android下载管理器将通过下载参考ID提供下载状态?

我有一个用例, 我开始使用android下载管理器下载文件,并在中间关掉手机。 当我再次重新启动时,下载继续并完成。 我通过提供下载引用ID获得了状态。 但是我想知道使用该引用ID 10天后的状态。 所以我的问题是直到android下载管理器将通过下载参考ID给出下载状态? 我查看了文档并通过堆栈进行了流程,但无法find答案。 有人帮助我。

DownloadManager下载超过2.1 GB的文件

我正在开发一个应用程序,我正在处理的一个function是下载一些二进制文件。 其中一些非常大(超过几兆字节)。 只要文件大小小于2 GB,下载就可以正常完成。 我卡在一个3.2GB的文件上,因为我获得了进度更新(我正在汇集DownloadManager以获取进度更新),但是当下载完成时,该文件不存在于目标文件路径上。 询问DownloadManager的下载ID,我得到STATUS_FAILED并说明ERROR_UNKNOWN – 一个人们希望的最喜欢的错误细节! 奇怪的是,这出现在大多数设备上,但对于某些设备(如Samsung SG 4 Active OS 4.2.2和LG Nexus 5 OS 4.4.2),它似乎没有出现。 做了一些额外的调查,我发现这似乎是Android DownloadManager实现中的一个错误 。 似乎Android实现将下载计数存储为int,但当该计数超过Integer.MAX_VALUE ,下载结束为失败。 我想用前台服务替换DownloadManager用法,但我不会放弃…. 你们是否面对这个问题,如果是这样,你是如何解决这个问题的? 是否有任何解决方法在4.2.2之前使用DownloadManager所以我可以下载每个文件超过2.1 GB?

为什么“下载完成”通知会在Gingerbread设备上消失?

我正在使用DownloadManager类以编程方式下载文件。 一切正常,但我不能让下载完成通知持续存在。 下载完成后立即消失。 这是我的代码: Request rqtRequest = new Request(Uri.parse(((URI) vewView.getTag()).toString())); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { rqtRequest.setShowRunningNotification(true); } else { rqtRequest.setNotificationVisibility(Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); } ((DownloadManager) getSystemService(DOWNLOAD_SERVICE)).enqueue(rqtRequest); 我在网上看到了一些与此相关的问题,但我找不到解决方案。

在活动中显示下载管理器进度

我在我的活动中使用了Download Manager类来执行下载; 它工作正常,我的下一个任务是在我的活动中显示相同的进度百分比。 我不知道该怎么做。 我的代码到目前为止 public class DownloadSampleBook extends Activity{ private long enqueue; private DownloadManager dm; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sample_download); 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 OS配置上设置的数据使用限制?

用户可以在“数据使用”屏幕上定义移动数据使用的限制和/或警告限制。 那么如何通过代码获取此信息呢? 本机操作系统的数据使用配置屏幕。 我想要极限值和警告值。 我已经尝试过但不能正常工作并且总是向两者返回NULL: final Long recommendedBytes = DownloadManager.getRecommendedMaxBytesOverMobile( this.context ); final Long maximumBytes = DownloadManager.getMaxBytesOverMobile( this.context ); // recommendedBytes and maximumBytes are NULL 而TrafficStats类只是传输数据而不是限制。

是否可以取消/停止使用DownloadManager启动的下载?

我正在使用DownloadManager在我的应用程序中下载一堆文件。 我无法弄清楚如何取消downloadManager排队的下载。 有两种可能性:a。 用户可以通过在通知栏中单击它来手动取消它。 湾 取消并通过代码删除下载。 我定义了以下接收器。 并在接收器中 if (DownloadManager.ACTION_NOTIFICATION_CLICKED.equals(action)) { Constants.showLog(TAG, “Notification clicked”); long downloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0); DownloadManager dm =(DownloadManager)context.getSystemService(Context.DOWNLOAD_SERVICE); dm.remove(downloadId); } 任何见解?

Android DownloadManager获取文件名

在我的应用程序中,您可以下载一些文件 我使用Android DownloadManager类进行下载。 下载完成后,它会显示一条消息,说明该文件已下载。 问题是,可能同时有2,3或4次下载。 我的BroadcastReceiver代码如下所示: receiver_complete = new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE) ){ Toast.makeText(MainActivity.this, MainActivity.this.getString(R.string.download_finished, “Here should be the name”, Toast.LENGTH_SHORT).show(); } } }; 如何获取完成下载的当前文件名? 非常感谢你。

如何从服务器下载文件并将其保存在Android的SD卡中的特定文件夹中?

我的Android应用程序中有一个要求。 我需要以编程方式下载并保存SD卡的特定文件夹中的文件。 我开发了源代码,这是 String DownloadUrl = “http://myexample.com/android/”; String fileName = “myclock_db.db”; DownloadDatabase(DownloadUrl,fileName); // and the method is public void DownloadDatabase(String DownloadUrl, String fileName) { try { File root = android.os.Environment.getExternalStorageDirectory(); File dir = new File(root.getAbsolutePath() + “/myclock/databases”); if(dir.exists() == false){ dir.mkdirs(); } URL url = new URL(“http://myexample.com/android/”); File file = new File(dir,fileName); long startTime = […]

Android下载管理器完成了

关于android下载管理器的小问题。 这是我第一次使用它并成功下载了多个文件并打开了它们。 但我的问题是如何检查下载是否完成。 情况是我下载一个PDF文件并打开它,通常文件很小,它在打开之前完成。 但是如果文件有点大,我如何在打开之前检查下载管理器是否完成了下载。 我如何下载: Intent intent = getIntent(); DownloadManager downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE); Uri Download_Uri = Uri.parse(intent.getStringExtra(“Document_href”)); DownloadManager.Request request = new DownloadManager.Request(Download_Uri); //Restrict the types of networks over which this download may proceed. request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE); //Set whether this download may proceed over a roaming connection. request.setAllowedOverRoaming(false); //Set the title of this download, to […]

在webview中点击URL时如何获取文件名

如何获得我们在页面上提供链接到该文件时,我们上传到服务器上的文件名? 我正在做的是,我提供的数据与webview中的文件链接,所以无论何时用户点击链接需要从服务器下载,因为我已经从服务器上下载这个文件,但问题是无法获得其确切的types和名称使用DownloadManager。 我想要这样 在上面我已经给了我的文件在test_androt链接,当我点击它会给与选项具有文件名的dailog,我不知道如何实现这个文件名时,用户点击WebView的URL链接。 编辑对不起,忘记提到我的url是这样的 misc/dnload.php?t1=MzQ0MDA=&t2=MTY5NTUz&t3=MTY5NTUzMTMwMjEyMDNfcGhhcm1hY3kga2V5IGluZm8ucG5n&t4=MTMwMjEyMDM=