Мне действительно нужен кто-то здесь, чтобы рассказать мне о некоторых проблемах с внешним хранилищем ИЛИ SD-картой.Я не буду вдаваться в сложности.У меня есть папка с именем MyVideos
.Он находится в папке sd-карты Motrola Xoom;путь "/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"
.Это всегда возвращает ложь.Он должен вернуть true, поскольку папка там обязательно существует.И, предполагая, что папка там существует, я выполняю другие операции, такие как
for (File f : myDirectory.listFiles())
{
if (f.isFile())
{
filenames.add(f.getName()); //add to array
}//if closes
}//for closes
Я получаю исключение FATAL в следующей строке
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" />
в моем файле манифеста.Даже тогда это не работает.Самый удивительный элемент - это то, что он работает нормально;но в США есть клиент, он падает на всех его устройствах. Есть ли разница в настройках разрешений устройств в Великобритании или в США? Я буду благодарен вам, если вы мне здесь поможете.большая проблема для меня.Спасибо