티스토리 뷰
728x90
반응형
public class ExtSdCardHelper {
public static HashSet<String> getExternalMounts() {
final HashSet<String> out = new HashSet<String>();
String reg = "(?i).*vold.*(vfat|ntfs|exfat|fat32|ext3|ext4).*rw.*";
String s = "";
try {
final Process process = new ProcessBuilder().command("mount")
.redirectErrorStream(true).start();
process.waitFor();
final InputStream is = process.getInputStream();
final byte[] buffer = new byte[1024];
while (is.read(buffer) != -1) {
s = s + new String(buffer);
}
is.close();
} catch (final Exception e) {
e.printStackTrace();
}
// parse output
final String[] lines = s.split("\n");
for (String line : lines) {
if (!line.toLowerCase(Locale.US).contains("asec")) {
if (line.matches(reg)) {
String[] parts = line.split(" ");
for (String part : parts) {
if (part.startsWith("/"))
if (!part.toLowerCase(Locale.US).contains("vold"))
out.add(part);
}
}
}
}
return out;
}
public static String getExternalSdCardPath() {
// 외장 SD카드 주소
HashSet<String> mountSet = getExternalMounts();
if(mountSet.size() == 0)
return null;
String extSdCard = mountSet.iterator().next();
extSdCard = "/storage/" + extSdCard.substring(extSdCard.lastIndexOf("/")+1);
return extSdCard;
}
}
반응형
'모바일 프로그래밍' 카테고리의 다른 글
Android 비디오 파일 외부 프로그램 연결 (0) | 2017.02.04 |
---|---|
Android 7.0 APK 파일 설치 (0) | 2017.01.22 |
iOS 신뢰할 수 없는 기업용 App 개발자 (0) | 2017.01.13 |
Android 리소스에서 폰트 읽기 (0) | 2016.12.30 |
Android EUC-KR 텍스트 파일 읽기 및 인코딩 (2) | 2016.12.26 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday