file.exists()始终为假,检查可绘

问题描述:

时,我几乎花了整整一天找到以下问题的解决方案:file.exists()始终为假,检查可绘

Uri uri = Uri.parse("android.resource://de.test.app/" + R.drawable.ic_tab_artists_grey); 
    File file2 = new File(uri.getPath()); 
    Boolean fileexists = file2.exists(); 

FILEEXISTS从未retruns true值。有什么错误吗?

问候

参孙


首先感谢你的快速解答,

我的问题是,下面的代码

Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW); 
      myIntent.setData(Uri.parse("android.resource://de.test.app/" + R.drawable.ic_tab_artists_grey)); 
      myIntent.setType("image/png"); 
      startActivityForResult(myIntent, 1); 

创建错误:

Unable to start Activity ComponentInfo{com.android.gallery/com.android.camera.ViewImage}: java.lang.nullPointerException 

我想这会发生,因为该文件不存在。我的setData路径错了吗?

+0

你为什么要检查drawable是否存在?可绘制将始终包含在您的.apk –

+0

我想测试它进行某种调试,因为我试图在Android图像查看器中打开带有内部版本的图像,但是每次出现错误时,都会出现NullPointer被转发到图像查看器应用程序。 – Samson

+0

看看我的答案,不能用'R.drawable.ic_tab_artists_grey'替换文件名。 –

当您搜索文件时,不能使用R.java文件中的ID。 R.drawable.ic_tab_artists_grey只是一个表示索引的数字的android常量,不会是文件名。

在任何情况下,您都不需要检查drawable是否存在。您的可绘制目录中包含的任何内容都会在您的应用程序旁边加载到APK中。