2009-09-16 4 views
2

스트리밍 비디오에 대한 내 MediaPlayer 응용 프로그램에서 다음 코드를 사용하고 있습니다.안드로이드에서 임시 파일을 만드는 데 문제가 있습니까?

Parent directory of file in not 
writable:/sdcard/ 
mediaplayertmp43912.dat 

같은 예외를 throw하는 동안이 문제를 처리하는 방법을 알고 싶습니다. 그 코드를 실행하면 파일이 만들어 질 곳을 의미합니다. 어떤 사람은 해결책이 어떤 코드로 도움을 준다는 것을 알고 있습니다.

+0

SD 카드에없는 TMP 파일을 만들 수 없습니까? 왜냐하면 그건 엿 같아. – mxcl

답변

5

당신이하고 싶은 것이 확실하지 않습니다 ... 디렉토리가 쓰기 가능하지 않으면 쓸 수 없습니다. 사용자가 SDCard에 쓰기 권한이 필요하다는 오류 메시지를 던집니다 (해결 방법에 대한 지침 포함 가능). 응용 프로그램의 몇

나는 ... 수 있도록 수정하기 어려운 안 있는지 또한 쓰기의 SDCard에이 있는지 확인하려면이 좋아하는 유사한 코드를 가지고 :

// make sure we have a mounted SDCard 
if (!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { 
    // they don't have an SDCard, give them an error message and quit 
    final AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder.setMessage(R.string.welcome_dialog_sdcard_error) 
     .setCancelable(false) 
     .setPositiveButton(R.string.welcome_dialog_sdcard_ok, new DialogInterface.OnClickListener() { 
      public void onClick(final DialogInterface dialog, final int id) { 
       finish(); 
      } 
     }); 
    final AlertDialog alert = builder.create(); 
    alert.show(); 
} else { 
    // there's an SDCard available, continue 
} 
17

당신을합니까 안드로이드 매니페스트에서 SD 카드에 쓰기 권한을 요청 하시겠습니까?

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
1

나는이 동일한 문제점이있었습니다. SDK를 업데이트 할 때까지 내 앱이 제대로 작동했습니다. 이제 SD 카드에 쓸 수있는 권한이 WRITE_EXTERNAL_STORAGE 필요합니다.

0

코드는 Android 1.5 이하 버전에서 그대로 작동합니다. 최근의 모든 항목에서는 앱이 매니페스트에서 WRITE_EXTERNAL_STORAGE 권한을 구체적으로 요청해야합니다.

관련 문제