标签: android-download-manager

下载失败时,DownloadManager游标属性COLUMN_LOCAL_FILENAME为空

我正在建立一个后备,我DownloadManager将重新启动失败的下载.

我坚持使用vogella构建我的下载管理器功能示例.

if (c.moveToFirst()) {
int columnIndex = c.getColumnIndex(DownloadManager.COLUMN_STATUS);

...

} else if (DownloadManager.STATUS_FAILED == c.getInt(columnIndex)) { 

         colIndex = c.getColumnIndex(DownloadManager.COLUMN_LOCAL_FILENAME);
         String localFilename = c.getString(colIndex);

}
Run Code Online (Sandbox Code Playgroud)

"失败"的案例正在运作,但我的localFilename变量是null.

顺便说一句:这COLUMN_URI是有效的.

有关如何访问目标/本地路径或文件名的任何想法?

java android download android-download-manager

2
推荐指数
1
解决办法
1748
查看次数

检查下载是否有效

所以我使用Download Manager在我的应用程序中下载多个文件.在开始某项活动之前,我需要这些文件才能完成下载.如何检查是否有活动下载,因此我可以告诉用户等待下载完成.然后,当它们完成后,我需要显示一个按钮.我用谷歌搜索了这个,甚至自己尝试了一些代码(盲目地)并且没有任何作用.如果有人能够朝着正确的方向推动我,我将不胜感激.

java android android-download-manager

2
推荐指数
1
解决办法
2955
查看次数

Android:如何在android中创建直接下载链接

谁能给我一个关于如何创建一个带有链接的文本视图的想法,当用户单击它时,设备将自动下载该链接中的文件

编辑:

这是正在处理的代码:

String link = "http://www.exampleurl.com/"+pref.getString("fsfile" + count, null);
    link = link.replaceAll(" ", "%20");
    fsfile.setText("Attached File");
    fsfile.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // starting new Async Task
            new DownloadFileFromURL().execute(link);
        }
    }); 
Run Code Online (Sandbox Code Playgroud)

但似乎String link未在内部识别.setOnClickListener

android download hyperlink android-intent android-download-manager

2
推荐指数
1
解决办法
9528
查看次数

这是在Android中下载文件或多个文件的最佳做法...?

一个.下载经理Api b.意图服务c.的AsyncTask

请告诉我哪个是最佳做法.是否可以使用上述条款取消正在进行的下载,如果是,请提供我的摘要.

android android-asynctask intentservice android-download-manager

2
推荐指数
1
解决办法
2711
查看次数

如何使用DownloadManager停止在android中下载文件?

我从SD卡读取文件,并在Gridview上显示.

当我从中选择项目Gridview并获取position项目时.

我点击下载按钮,它将下载该项目.

我使用时如何停止项目下载downloadManager

代码是下载按钮,如下所示:

FileNode file = mFileList.get(temp_position) ;//Get the item I have select from Gridview

                                final String filename = file.mName.substring(file.mName.lastIndexOf("/") + 1) ;
                                final String urlString = "http://" + mIp + file.mName ;

                                String serviceString = Context.DOWNLOAD_SERVICE ;
                                DownloadManager downloadManager ;
                                downloadManager = (DownloadManager) getActivity().getSystemService(
                                        serviceString) ;

                                Uri uri = Uri.parse(urlString) ;
                                DownloadManager.Request request = new Request(uri) ;
                                request.setTitle(filename) ;
                                request.setDescription(urlString) ;

                                String ext = filename.substring(filename.lastIndexOf(".") + 1)
                                        .toLowerCase(Locale.US) ;
                                String mimeType …
Run Code Online (Sandbox Code Playgroud)

android gridview download android-download-manager

2
推荐指数
1
解决办法
6542
查看次数

Android DownloadManager保存到下载文件夹

我正在使用DownloadManager下载文件,我想将下载放在标准下载文件夹中,以便人们可以使用文件管理器在最明显的位置轻松找到它们:

Uri downloadLocation = Uri.fromFile(new File(Environment.DIRECTORY_DOWNLOADS, filename));
request.setDestinationUri(downloadLocation);
Long reference = downloadManager.enqueue(request);
Run Code Online (Sandbox Code Playgroud)

但我得到一个例外,因为那不是外部驱动器.

有没有办法将文件下载到用户的下载文件夹?

而且,如果他们没有外部记忆,只是内部?

谢谢.

android android-file android-download-manager

2
推荐指数
1
解决办法
6884
查看次数

DownloadManager:下载完成后通知

我写了一个代码来使用a DownloadManager来下载一些文件.现在我想做以下事情:

  1. 下载完成后通知我的活动(以及哪些下载完成)
  2. 接收有关特定文件下载进度的定期信息(例如在游戏商店中发生,其中下载进度显示在DownloadManager通知栏内和谷歌内部当前页面内)

android android-download-manager

2
推荐指数
1
解决办法
3995
查看次数

下载图像并将其存储在android的Gallery应用中

我想将图像文件保存在图库中,以便可以从图库应用程序中查看图像。

但是我想要创建一个单独的目录,就像我们在图库应用程序中为whatsapp Images等应用程序创建目录一样。

到目前为止,我已经编写了此代码来下载图像

public void createDir(){
  File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), DIR_NAME);
    Log.d(LOG_TAG, "dir pictr :" + dir.toString());
    if (!dir.exists()) {
        dir.mkdir();
        Log.d(LOG_TAG, "dir not exists and created first time");
    } else {
        Log.d(LOG_TAG, "dir exists");
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码在gallery dir中创建了目录

Uri imageLink = Uri.parse(downloadUrlOfImage);  // this is download link like www.com/abc.jpg

CreateDir();
DownloadManager.Request request = new DownloadManager.Request(imageLink);

File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), DIR_NAME);
String absPath = dir.getAbsoultePath();
request.setDestinationUri(Uri.parse(absPath + "image.jpg"));
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

DownloadManager dm = (DownloadManager) getContext().getSystemService(Context.DOWNLOAD_SERVICE);
dm.enqueue(request);
Run Code Online (Sandbox Code Playgroud)

但这给我错误 java.lang.IllegalArgumentException: …

android mediastore android-download-manager

2
推荐指数
1
解决办法
5173
查看次数

Android将文件保存到外部存储而不添加写入权限?

我们可以将数据写入外部存储而无需在清单中添加写入权限吗?存储访问框架或下载管理器是否为此提供了任何支持?

android android-download-manager

2
推荐指数
3
解决办法
3156
查看次数

如何检查下载是否正在运行?下载管理器

我想检查当前是否正在下载。我正在使用下面的代码:

public static boolean isDownloading(Context context){

    DownloadManager.Query query = null;
    Cursor c = null;
    DownloadManager downloadManager = null;
    downloadManager = (DownloadManager)context.getSystemService(Context.DOWNLOAD_SERVICE);
    query = new DownloadManager.Query();
    if(query!=null) {

        //return true;
        query.setFilterByStatus(DownloadManager.STATUS_FAILED|DownloadManager.STATUS_PAUSED|DownloadManager.STATUS_SUCCESSFUL|
                DownloadManager.STATUS_RUNNING|DownloadManager.STATUS_PENDING);
    } else {
        Log.i("AUTOMATION_DOW" , "NO ");
        return false;
    }
    c = downloadManager.query(query);
    if(c.moveToFirst()) {
        int status = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS));
        switch(status) {
            case DownloadManager.STATUS_PAUSED:
                Log.i("AUTOMATION_DOWNLOAD","PAUSED");
               break;
            case DownloadManager.STATUS_PENDING:
                Log.i("AUTOMATION_DOWNLOAD","PENDING");
                break;
            case DownloadManager.STATUS_RUNNING:
                Log.i("AUTOMATION_DOWNLOAD","RUNNING");
                break;
            case DownloadManager.STATUS_SUCCESSFUL:
                Log.i("AUTOMATION_DOWNLOAD","SUCCESSFUL");
                break;
            case DownloadManager.STATUS_FAILED:
                Log.i("AUTOMATION_DOWNLOAD","FAILED");
                break;
        }
    }
    Log.i("AUTOMATION_DOWNLOAD","DEFAULT");
    c.close();
    return true;
}
Run Code Online (Sandbox Code Playgroud)

即使正在运行下载,我也有以下logcat: …

java android android-download-manager

2
推荐指数
1
解决办法
1926
查看次数