How to use Android DownloadManager?

前端 未结 2 594
闹比i
闹比i 2020-12-24 15:56

I want to download a file to SDCard with Android DownloadManager class:

Request request = new Request(Uri.parse(url));
request.setDestinationInExternalPublic         


        
2条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-24 16:14

    You can retrieve file path from localUri like this:

    public static String getFilePathFromUri(Context c, Uri uri) {
        String filePath = null;
        if ("content".equals(uri.getScheme())) {
            String[] filePathColumn = { MediaColumns.DATA };
            ContentResolver contentResolver = c.getContentResolver();
    
            Cursor cursor = contentResolver.query(uri, filePathColumn, null,
                    null, null);
    
            cursor.moveToFirst();
    
            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            filePath = cursor.getString(columnIndex);
            cursor.close();
        } else if ("file".equals(uri.getScheme())) {
            filePath = new File(uri.getPath()).getAbsolutePath();
        }
        return filePath;
    }
    

提交回复
热议问题