내 앱. 라인에서 실패 :createTempFile에서 "Permission denied"예외가 발생합니다.
File temp = File.createTempFile(“mediaplayertmp”, “dat”);
throws “Permission denied”
예외.
왜 이런 일이 발생할 수 있습니까? "remp
"폴더를 지정하기 위해 Java 설정을 변경해야하는 것처럼 들립니다.
감사합니다!
내 앱. 라인에서 실패 :createTempFile에서 "Permission denied"예외가 발생합니다.
File temp = File.createTempFile(“mediaplayertmp”, “dat”);
throws “Permission denied”
예외.
왜 이런 일이 발생할 수 있습니까? "remp
"폴더를 지정하기 위해 Java 설정을 변경해야하는 것처럼 들립니다.
감사합니다!
외부 저장소 디렉토리에 쓸 수있는 충분한 권한이없는 것 같습니다. 나는 createTempFile
이 필요한 것을 모르는 (나는 그것이 내부 저장 장치에있을 것이라고 생각하지만 모르는),하지만 난과 같이, 매니페스트에 WRITE_EXTERNAL_STORAGE 권한을 추가 제안 :
<manifest...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
AFAIK가 java.io.tmpdir
으로 구성된 기본 임시 파일 위치가 /sdcard
이므로, WRITE_EXTERNAL_STORAGE 권한을 매니페스트에 추가해야합니다.
나는이 같은 문제가있었습니다. 내게는 문제가 발생했다. 내가 개발할 때 안드로이드 장치를 USB를 통해 내 PC에 꽂고, 다른 장치에 장착되었을 때 SD 카드가 잠겼다. 일단 장치의 플러그를 뽑으면 정상적으로 작동합니다. 또한 장치를 꽂은 상태에서 SD 카드를 마운트하지 않도록 장치를 알릴 수도 있습니다.
도움을 주셔서 감사합니다. 이 줄을 AndroidManifest.xml에 추가하여 이제는 의 두 가지 요소를 갖게되었습니다. 그러나 응용 프로그램 오류는 변경되지 않습니다. 변경 사항이 올바른지? –
dev222
업데이트 :이 호출에 대한 대체 서명으로 변경 : File temp = File.createTempFile ("mediaplayertmp", "dat", this.getCacheDir()); 공장! – dev222
아 좋아! 당신이 그것을 알아 냈기 때문에 기쁜, 나는 거기에서 어디로 가야할지 모르겠다. – kcoppock