2014-11-21 8 views
0

안드로이드 네이티브 코드에서 외부 SD 카드에 쓰려고 할 때 fopen에서 권한이 거부되었습니다. 내가 함수 strerror를 인쇄하면안드로이드 네이티브 코드에서 외부 SD 카드에 쓰는 동안 fopen이 실패했습니다

mFp = fopen("/storage/extSdCard/Output/test.txt", "wb"); 

(errno는이)가 있습니다 ->

fopen(/storage/extSdCard/Output/test.txt) failed: Permission denied 

나는 또한 내 응용 프로그램 매니페스트에 권한을 준 것을 참고 : 또한

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

과 :

String state = Environment.getExternalStorageState(); 
     if (Environment.MEDIA_MOUNTED.equals(state)) { 
      return true; 
     } 

이 (가) 실제로 returing 중입니다.

답변

0

외부 저장 장치가 삽입 된 외부 카드 또는 장치와 함께 제공되는 sdcard인지 확인하십시오. 장치 자체와 함께 제공되는 sdcard 인 경우 경로를 "/ mnt/drive_path"로 시도하고 if 당신은 네이티브 메소드가 당신의 스토리지에 쓸 수 있습니다.

+0

친애하는 vembutech는 이미 언급했듯이 내부 메모리/sdcard가 아닙니다. ext 메모리 슬롯에 삽입되는 sdcard입니다. 그 외부 저장 장치에 쓸 수 없습니다. 나는 또한 adb 셸에서 경로를 정확하고 정확히 어디에 쓰고 싶은지 확인했다. –