在一些Android手机中解析listview filenotfound异常

时间:2015-04-28 16:14:33

标签: android filenotfoundexception lazylist

我正在关注创建应用程序的this链接,该应用程序从解析中接收图像和文本并在列表视图中显示,它实际上是一个惰性列表。一切都很好,一个完美的工作。但在一些像Nexus4或某些HTC手机这样的智能手机中,图像并不显示,而是可以从替代图像中选择替代图像。 LogCat显示以下这些手机的例外,我不知道为什么会这样。 如果有人能想出来的话。

private Bitmap decodeFile(File f) {

第88行

OutputStream os = new FileOutputStream(f);

这个方法开始了。 和第73行是 public FileCache(Context context) { if (android.os.Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED)) cacheDir = new File( android.os.Environment.getExternalStorageDirectory(), "ParseListViewImgTxt"); else cacheDir = context.getCacheDir(); if (!cacheDir.exists()) cacheDir.mkdirs(); }

打开目录的代码

id: null

1 个答案:

答案 0 :(得分:0)

我发现问题是啊。它的实际发生在Android 4.4上。需要developer.android.com中所述的许可 在Android 4.4上运行时,您的应用无法读取外部存储设备上的共享文件,除非您的应用具有READ_EXTERNAL_STORAGE权限。也就是说,没有权限,getExternalStoragePublicDirectory()返回的目录中的文件将无法再访问。但是,如果您只需要访问由getExternalFilesDir()提供的特定于应用程序的目录,那么您不需要READ_EXTERNAL_STORAGE权限
我只需添加READ_EXTERNAL_STORAGE权限。