我真的需要有人指导我解决有关外部存储或 SD 卡的一些问题。我不会讨论复杂性。我有一个名为
MyVideos
的文件夹。它位于 Motrola Xoom 的 SD 卡文件夹中;路径是 "/mnt/sdcard-ext/MyVideos.
该文件夹已经存在。但是,我遇到了一些奇怪的错误。例如,如果我使用以下代码检查文件夹是否存在:
File myDirectory = new File(defaultStorage, "/MyVideos/");
if (myDirectory.exists())
{
my code: lets say true
}
else
{
my code: false
}
哪里
defaultStorage is = "/mnt/sdcard-ext"
。它总是返回 false。它应该返回 true,因为该文件夹确实存在于其中。假设该文件夹存在,我会执行其他操作,例如
for (File f : myDirectory.listFiles())
{
if (f.isFile())
{
filenames.add(f.getName()); //add to array
}//if closes
}//for closes
我在以下行遇到致命异常
for (File f : myDirectory.listFiles())
错误堆栈如下:
E/AndroidRuntime(22644): FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity
E/AndroidRuntime(22644): Caused by: java.lang.NullPointerException
我刚刚提到了堆栈中重要的事情。准确地说,它是一个 NullPointerException。虽然我正在用
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在我的清单文件中。即使这样也行不通。最令人惊讶的元素是它在这里运行良好;但是美国有一个客户,他的所有设备都崩溃了。英国或美国设备的权限设置有什么不同吗。如果您在这里帮助我,我将非常感谢您。这是一个对我来说是个大问题。 谢谢