2013-04-03 19 views
0

我需要制作下载的文件,如mp3图片等,才能在媒体应用中显示,如专辑或媒体播放器下载的文件在用户媒体应用程序中不可见?

它是文件chmod还是不可读?每一件事情是确定的这一类,但其显示下载的下载文件夹中的文件只

这是我

public class Download extends AsyncTask<String, Void, String> { 
     ProgressDialog mProgressDialog; 

     Context context; 
     String file_url,file_name; 

     public Download(Context context,String url , String file_name) { 
     this.context = context; 

     this.file_url = url; 
     this.file_name = file_name; 

     } 

     protected void onPreExecute() { 
     mProgressDialog = ProgressDialog.show(context, "", 
     "Please wait, Download …"); 
     } 

     protected String doInBackground(String... params) { 



     // ////////////////////// 
     try { 

     URL url = new URL(file_url); 
     HttpURLConnection c = (HttpURLConnection) url.openConnection(); 
     c.setRequestMethod("GET"); 
     c.setDoOutput(true); 
     c.connect(); 
     String[] path = url.getPath().split("/"); 
     String mp3 = path[path.length - 1]; 
     int lengthOfFile = c.getContentLength(); 

     String PATH = Environment.getExternalStorageDirectory()+ "/downloads/" ; 

     File file = new File(PATH); 
     file.mkdirs(); 

     String fileName = file_name; 

     File outputFile = new File(file , fileName); 
     FileOutputStream fos = new FileOutputStream(outputFile); 

     InputStream is = c.getInputStream(); 

     byte[] buffer = new byte[1024]; 
     int len1 = 0; 
     while ((len1 = is.read(buffer)) != -1) { 

     fos.write(buffer, 0, len1); 
     } 
     fos.close(); 
     is.close(); 

     } catch (IOException e) { 
     e.printStackTrace(); 
     } 



     return "done"; 
     } 

     protected void onPostExecute(String result) { 
     if (result.equals("done")) { 
     mProgressDialog.dismiss(); 

     } 
} 

} 

任何想法??类

回答

2

您需要调用MediaScannerConnection并告诉它扫描您的文件。文档here

+0

非常感谢你让我的一天:) –

+0

很高兴为您服务!尽管如此,请将问题标记为已回答。 – DigCamara

相关问题