2016-06-23 7 views
0

Android에서 File 클래스를 사용했습니다. File.setReadable (부울 읽기 가능, 부울 ownerOnly),하지만 실패했습니다 : ( 안드로이드 개발자의 문서는 다음과 같이 작성했습니다 :Android 파일 사용 권한

"작업이 성공한 경우에만 true 작업이 실패한 경우에만 작업이 실패합니다. 이 추상 패스 명의 액세스권을 변경할 수있는 액세스권 .Readable가 false로, 기본이되는 파일 시스템이 읽기 액세스권을 구현하고 있지 않는 경우, 조작은 실패한다 "이 액세스권을 변경하는 액세스권은, 이 추상 경로 이름 "? 모두 도움을 바랍니다.

답변

0

"이 추상 경로 이름의 액세스 권한을 변경할 수있는 권한"이란 무엇입니까? 당신이 일이 어떤 데스크톱 OS에

당신이에 대한 사용 권한을 변경할 수있는 파일, 당신은 할 수 없습니다 파일이 — 윈도우, OS X/맥 OS 또는 Linux —를 사용합니다. 이것은 OS가 제공하는 파일 시스템 보안 모델의 일부입니다. 예를 들어, Linux 서버에서 웹 서버와 연관된 Linux 사용자 계정은 임의 파일에 대한 사용 권한을 변경할 수 없습니다. 이렇게하면 웹 서버에 악용 될 수있는 버그 (예 : 버퍼 오버런)가있는 경우 익스플로잇이 얼마나 많은 피해를 줄 수 있는지 제한합니다.

Android를 기반으로하는 Android는 이러한 기능을 상속합니다. 앱간에 개인 정보를 유지하는 데 도움이됩니다. 앱 A는 internal storage에있는 앱 B의 파일에 액세스 할 수 없으며 어느 앱도 removable storage (Android 4.4 이상)의 임의의 파일에 액세스 할 수 없습니다.

일반적으로 Android의 경우 파일 권한을 변경하려고하면 '잘못하고 있습니다.' 당신이 무엇과 같은, 다른 방법으로 해결되고 역임 더 나은 해결하고자하는 문제 :

  • 첫 번째 장소 (예를 들어, external storage)에서 공개적으로 읽을 수있는, 또는

  • 어딘가에 파일 넣기

    그래서 당신의 대답 에 대한

+0

감사를 필요에 따라 나는 아직도 잘 작동 숨겨진 미디어 파일은 위의 방법 중 하나입니다 원하는 경우, 다른 앱의 개인 파일에 액세스 할 수 있도록 FileProvider를 사용하십니까? –

+0

@ QuốcVửngHồ :이 문맥에서 "숨겨진 미디어 파일"이 무엇을 의미하는지 모르겠습니다. – CommonsWare

+0

@ QuốcVửngHồ : 나는 아직도 이것이 무엇을 의미하는지 모른다. – CommonsWare