다음과 같이 사진을 저장하고 있습니다.
File dcimDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
File picsDir = new File(dcimDir, "MyPics");
picsDir.mkdirs(); //make if not exist
File newFile = new File(picsDir, "image.png"));
OutputStream os;
try {
os = new FileOutputStream(newFile);
target.compress(CompressFormat.PNG, 100, os);
os.flush();
os.close();
b.recycle();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
그러나 창을 통해 이미지를 찾을 때 내부 메모리에 있으며 갤러리에서 다음을 확인합니다.
이 마지막 것은 혼란스럽고 내부 메모리라고 말하지만 sdcard0
파일 경로 에도 있습니다 .
그렇다면 외부는 언제 외부를 의미하지 않습니까? 장치 설정입니까, 아니면 사용하지 않거나 이해하지 못 getExternalStoragePublicDirectory
합니까?
MTP 엔진은 때때로 getExternalStorageDirectory()
"내부 저장소"로보고되기 때문에 Windows, Linux 등에서 장치를 볼륨으로 마운트 할 때 해당 이름 아래에 표시됩니다.
외부 저장소는 항상 사용자가 USB 케이블을 통해 액세스 할 수있는 저장소를 의미합니다. "내부 저장소"레이블은 외부 저장소가 온보드 ( "내부") 플래시의 일부인 장치에서 사용됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다