2012-02-15 2 views
0

BroadcastReceiver를 통해 자동 시작되는 앱이 있으며 Android 2.3.3에서 홈 화면으로 설정됩니다. HTC Desire HD의 API10시작 후 sdcard에서 비디오 재생

응용 프로그램은 시작 직후에 반복해서 비디오를 재생해야하지만 sdcard가 준비되지 않았기 때문에 강제 종료 오류 메시지로 사라집니다.

적어도 나는 그것이 sdcard 때문에라고 생각한다.

백그라운드에서 홈 화면이 다시 시작되지만 오류 메시지가 사라지지 않는 경우 몇 초 후에 사라지면 문제가되지 않지만 전혀 나타나지 않으면 오류가 더 커집니다. .

나를 도와 줄 수 있습니까? 덕분에 !

편집 # 1 : 이것은 sdcard가 준비되었는지 확인합니다. 난 단지

static public boolean hasStorage(boolean requireWriteAccess) { 

    String state = Environment.getExternalStorageState(); 
    Log.v("tomi", "storage state is " + state); 

    if (Environment.MEDIA_MOUNTED.equals(state)) { 
     if (requireWriteAccess) { 
      boolean writable = checkFsWritable(); 
      Log.v("tomi", "storage writable is " + writable); 
      return writable; 
     } else { 
      return true; 
     } 
    } else if (!requireWriteAccess && Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) { 
     return true; 
    } 
    return false; 
} 

답변

2

이에 대한 해결책이 있습니까 .. 읽기 액세스가 필요?

첫째, 당신은 "홈 화면으로 설정" "브로드 캐스트 리시버를 통해 autostarting"두를 필요가 없습니다. 하나는 충분해야한다.

활동이 실행되면 Environment을 확인하여 외부 저장소가 준비되어 있는지 확인할 수 있습니다. 그렇지 않은 경우 ACTION_MEDIA_MOUNTED에 대한 수신자를 등록하여 외부 저장 장치가 언제 준비되는지 확인할 수 있습니다. 일단 준비가되면 (그리고 그 시점에서만) 비디오를 재생할 수 있습니다.

+0

안녕하세요, 사용자가 기기에 액세스 할 수없고 조작 할 수 없도록 자동 시작 및 홈 화면 대체가 필요합니다. (자사의 키오스크 앱). 나는 첫 번째 게시물에서 업데이트 할 코드를 통해 sdcard를 기다리려고했다. – antion

+0

@antion : 키오스크 앱은 안전 모드로 재부팅하면 누구나 앱을 제거 할 수 있지만 마음에 새겨서 홈 화면으로 교체해야합니다. – CommonsWare

+0

아 좋아, 어쨌든 자동으로 홈 화면이 시작됩니다. 이런, 아마도 내 모든 문제를 해결하려고 노력할 것입니다.) – antion

관련 문제