2016-03-30 93 views
0

我似乎有問題。出於某種原因,我的模擬器剛開始拋出這個錯誤,似乎是突然間出現了。java.lang.IllegalStateException:「無法獲得外部存儲文件目錄」模擬器

java.lang.IllegalStateException: Failed to get external storage files directory 

我沒有改變任何東西(我知道)會影響到這一點,它可以在真實設備上測試時發現。在錯誤

public void download(){ 
    DownloadManager.Request request = new DownloadManager.Request(Uri.parse(groups)); 
    request.setTitle("groups.txt"); 
    request.setDescription("File is being downloaded....."); 
    request.allowScanningByMediaScanner(); 
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE); 
    request.setDestinationInExternalFilesDir(getApplicationContext(), null, "groups.txt"); 
    request.setVisibleInDownloadsUi(false); 


    DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); 
    manager.enqueue(request); 
} 

代碼。你們有什麼想法?

+1

是否有一個原因,你傳遞'getApplicationContext()',而不是隻傳遞你的活動的上下文?這可能會導致你的問題。 – NoChinDeluxe

回答

0

在您的setDestinationInExternalFilesDir函數中,您已設置目錄path = null。所以它無法找到在哪個目錄中存儲groups.txt。另外我不明白你爲什麼需要發送應用程序上下文而不是活動的上下文。

+0

如果我想將它存儲在基本文件夾中,我該如何放置?另外,它爲什麼在真實設備上工作? – MJDude

+0

http://developer.android.com/reference/android/os/Environment.html查看這裏提供的各種選項並選擇 – suku

相關問題