안드로이드 개발 질문/답변
(글 수 45,052)
분실시 단말 데이터를 리셋시키는 동작을 하는 어플인데요..
안드로이드 경로가 저장장치 경로가 /mnt/sdcard/ .. 뭐 이렇게 있는데,,
DevicePolicyManager wideData 로 하드웨어 초기화는 돼서 OS 는 리부팅 되는데,,
안드로이드는 내장 sdcard를 사용한다면서요.. 제가 안드로이드를 잘 안써봐서 .. 첨이라 .. -_-;;;
내장이나 외장 sdcard 는 admin 퍼미션 줘서 읽고쓰고 파일 삭제 ..그런건 알겠는데,
sdcard에 있는 기존폴더들
갤럭시 탭10.1 이랑 넥서스 S로 테스트 중인데 둘다 내장 sdcard를 가지고 있고
내부 경로에
[Alarms]
[Android]
[DCIM]
[Download]
.... 등 시스템 이나 어플 관련한 폴더들이 기본으로 설치되어 있더라구요.
하드웨어 초기화 해도 그건 지워지면 안될꺼같은데..
wipeData API를 썼을때 웃긴게..
갤럭시 탭의 경우는 /mnt/sdcard/ 밑에 제가 테스트로 넣어놓은 쓰레기 데이터는 삭제가 되더라구요.
기본 [Alarms] .. 이런 폴더들은 그대로 있구요.
근데 넥서스 S 의 경우는 임의로 만들어 놓은 데이터가 그대로 남아 있더라구요.
이건 무슨 차이인지 모르겠어요..;;
분실시 원격으로 초기화되는 기능이 목적이기 때문에 내장이든 외장이든 전부 초기화 시켜야 하는데..
단순히 삭제 API를 써서 삭제한다면 플랫폼마다 폴더가 다를꺼같은데 구분해서 그것만 제외하고 따로 삭제를
해줘야 하는건가요?
아니면 내장 SDCARD 초기화나 포맷하는 API가 따로 있는지..?
reference를 지겹게 뒤져봤고 구글링을 많이 해봤지만... 못찾겠어요.. ㅠㅠ
기존에 원격으로 SDCARD 삭제 하는 어플도 나와있던데.
그런건 어떤 방식으로 구현하나요?
단순히 파일 삭제를 하는건가요..??
제발 답변 부탁드립니다. ㅠㅠ 엉엉 ..
레퍼런스 보니까 wipeData(int flag) 메소드에 플래그 값을
WIPE_EXTERNAL_STORAGE 로 주면 외장 메모리도 초기화 된다고 나와있네요.
WIPE_EXTERNAL_STORAGE 플래그는 진저브레드 이상 부터 사용가능합니다.
제가 직접 테스트한건 아니라서 확신은 없네요.