2012-02-10 5 views
0

В моем приложении я создаю услугу, цель которой - прочитать что-то со SD-карты.Не удается найти каталог при загрузке

Служба создана и запущена во время загрузки.

Проблема в том, что, хотя я уверен, что каталог существует, во время загрузки служба не может найти каталог.

public void onStart(Intent intent, int startId) { 
    super.onStart(intent, startId); 
    Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show(); 
    Context context=getBaseContext(); 
    File sdDir = new File(Environment.getExternalStorageDirectory()+"/temp/Data/"); 
    if(!sdDir.exists()){ 
     sdDir.mkdir(); 
     Toast.makeText(this, "CAN'T FIND!", Toast.LENGTH_LONG).show(); 
    } 
} 

Этот фрагмент кода выше выходов

  1. Service Started
  2. НЕ НАШЛИ!

Сначала я думал, что SD-карта не может быть смонтирована во время загрузки, и поэтому служба не может найти каталог. Я до сих пор не уверен в этом.

У кого-нибудь есть идея? Что может быть проблемой?

ответ

2

Некоторые устройства требуют времени для установки SD-карты. Он может быть недоступен сразу после загрузки.

Просто опрос каждые несколько секунд, пока он не станет доступен.

попробовать Также это:

public static boolean hasStorage(boolean requireWriteAccess) { 
    String state = Environment.getExternalStorageState(); 

    if (Environment.MEDIA_MOUNTED.equals(state)) { 
     return true; 
    } else if (!requireWriteAccess && Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) { 
     return true; 
    } 
    return false; 
} 

From Here

 Смежные вопросы

  • Нет связанных вопросов^_^