2015-11-24 28 views
0

我使用的下載管理器類來管理下載,我用這使用Android DownloadManager,我如何獲取文件名?

request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,subPath); 

目前我設置子路徑的一些文件名,但我要如何網址,以獲取文件名?

我不想使用遊標,但有些方法從uri中提取文件名。

+0

改進格式 – Vivek

回答

0

好吧,如果沒有光標那就試試這個:

class GetFileName extends AsyncTask<String, Integer, String> 
{ 
protected String doInBackground(String... urls) 
{ 
    URL url; 
    String filename = null; 
    try { 
     url = new URL(urls[0]); 
     String cookie = CookieManager.getInstance().getCookie(urls[0]); 
     HttpURLConnection con = (HttpURLConnection) url.openConnection(); 
     con.setRequestProperty("Cookie", cookie); 
     con.setRequestMethod("HEAD"); 
     con.setInstanceFollowRedirects(false); 
     con.connect(); 

     String content = con.getHeaderField("Content-Disposition"); 
     String contentSplit[] = content.split("filename="); 
     filename = contentSplit[1].replace("filename=", "").replace("\"", "").trim(); 
    } catch (MalformedURLException e1) { 
     e1.printStackTrace(); 
    } catch (IOException e) { 
    } 
    return filename; 
} 

@Override 
protected void onPreExecute() { 
    super.onPreExecute(); 
} 
@Override 
protected void onPostExecute(String result) { 

} 
} 
相關問題