2013-07-13 34 views
0

我正在使用下载管理器从我的服务器下载MP3文件。正在下载的文件保存在数据文件夹

这是它的代码。

public String createFilePath() 
    { 
     String path; 
     String dir = "APP_NAME"; 

     path = Environment.getExternalStorageDirectory().getPath(); 



     File file = new File(Environment.getExternalStorageDirectory(),dir); 
     if(!file.exists()) 
     { 
      file.mkdir(); 
     } 

     path += "/" +dir + "/"; 

     System.out.println("-- saving path : " + path); 
     return path; 
    } 

    public void startDownload() { 
     Uri uri=Uri.parse(URLFixer.Fix(DATA.url)); 




     System.out.println("-- download path : " + createFilePath() + FileNameGetter.getFileName(DATA..url)); 

     DownloadManager.Request request = new Request(uri); 
     request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI |DownloadManager.Request.NETWORK_MOBILE); 
     request.setAllowedOverRoaming(false); 
     request.setTitle(DATA..title); 
     request.setDescription(DATA.artist + " - " + DATA.album); 


     request.setDestinationInExternalFilesDir(activity, createFilePath(), FileNameGetter.getFileName(DATA..url)); 
     //  request.setNotificationVisibility(Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); 




     if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) { 
      //     request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN); 
      request.setNotificationVisibility(Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); 
     } 


     lastDownload= mgr.enqueue(request); 
     isDownloading = true; 
     Toasts.pop(activity, "Download Started!!"); 

     //  v.setEnabled(false); 
     //  findViewById(R.id.query).setEnabled(true); 
    } 

的问题是,它应该被保存在文件夹里面“APP_NAME” SD卡,但一旦音频下载,我不能看到它这个文件夹里,当我播放音频,并检查其信息,它显示路径像thie

/sdcard/Android/data/com.X.app/files/mnt/sdcard/APP_NAME/file.mp3 

由于它被保存在数据文件夹内,用户无法看到该文件。如何解决它将其移动到主SD卡即/ mnt/sdcard/APP_NAME,以便用户可以看到它。

回答