마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 otg 경로..

0 추천
현재 갤럭시s3과 노트3로 테스트 중입니다.

otg의 폴더 및 파일리스트들을 출력하고 read,write하려고 하는데요.

제조사마다 otg 경로가 다르더군요..

위의 기종 두개는 storage/usbDriveA이지만, B일 수도있고, 아예 다른 명칭인 것도 있습니다.

현재 attach된 otg에 한해서만 경로를 가져올 수 있는 방법이 없나요..?

아님 저 상이한 경로들을 다 고려해서 경우의 수를 여러개 생각해야할까요?
망고사탕 (5,000 포인트) 님이 2017년 6월 19일 질문

1개의 답변

0 추천
 
채택된 답변
OTG는 Android 표준이 아니기 때문에 공식 API는 없습니다.

그리고 path는 스마트폰 제조사 마다 다릅니다.

더 더구나 Marshmallow 이상에서는 Write 권한조차 없습니다.
디자이너정 (42,810 포인트) 님이 2017년 6월 19일 답변
답변 감사합니다.
말씀해주신대로 제조사마다 path가 달라서 기준을 잡기가 애매하더라구요.
결국엔 각각 잡아야겟네요..ㅠㅠ;;
혹시, ACTION_USB_DEVICE등의 api등으로도 경로를 잡지 못하는건가요..?
마시멜로우면 6.0 이상부터 write가 안된다는 말씀이신지요?
6.0부터는 OTG영역에 파일을 쓸수 없어요.
https://developer.android.com/guide/topics/providers/document-provider.html?hl=ko
(권한을 얻으면 되지만 굉장히 불편합니다.(사용할 수 없을 정도로...))
헉 답변 감사합니다..ㅠㅠ
찾아보니 6.0부터 막힌 퍼미션들이 꽤 많네요.
그동안 4.4~5.0 사이로만 작업을 했던터라..
한마디로 해당 기능을 6.0 이상 앱에서 실행하려면 사용할 때마다 권한을 얻는 방식이여야 하나보네요..?
죄송한데 한 가지만 더 여쭤봐도 될까요?
6.0이상일 때 어플에서 직접적으로 otg에 write를 할 수 없다면,
휴대폰 내부의 기본앱인 내파일이나 파일저장소 등으로는 otg같은 외부메모리에 파일 복사나 이동이 가능한가요? 사용자가 다소 불편함을 느끼겠지만요..
제조사 앱(내 파일)은  OTG 영역 write 가능합니다.
...