2016-05-12 58 views
-1

我是新的开发Android应用程序,每当我的应用程序运行在一个Android 6.0模拟器上我无法下载文件并安装(.zip)手机内存,但显示错误:打开失败:ENOENT(没有这样的文件或目录),所以我假设下面的代码导致此错误..任何人都可以帮助我。ENOENT(没有这样的文件或目录)为新的Android版本(3.0+)

String state = Environment.getExternalStorageState(); 
    if (Environment.MEDIA_MOUNTED.equals(state)) { 
     File sdcard = Environment.getExternalStorageDirectory(); 
     File downloadFolder = new File(sdcard.getPath() + Constants.DOWNLOAD_FOLDER); 
     if (!downloadFolder.isDirectory()) { 
      boolean success = downloadFolder.mkdirs(); 
      Log.d(TAG, "Creating download directory success: " + success); 
     } 
    } 
+0

你从哪里得到这个错误?代码的哪部分失败?什么是访问(而不是找到)的路径?它确实存在吗(你检查?)?此外,请将您的代码缩减为只显示问题的最小示例,而不是您的整个应用程序或活动。 – CherryDT

回答

0

我认为问题来自下载文件夹的名称(Constants.DOWNLOAD_FOLDER)。也许它不是在Constants类中设置的。另外,我建议你在检查这里的文档(并且如果这是你需要的)后尝试使用Environment.DIRECTORY_DOWNLOADS:http://developer.android.com/reference/android/os/Environment.html#DIRECTORY_DOWNLOADS 据我所知,Downloads文件夹在存储上可能有不同的名称。另请注意,Environment.DIRECTORY_DOWNLOADS仅在API 8后添加。
希望这有助于!

相关问题