이미지 편집 하는 앱을 만들었는데요.
편집을 하고 sdcard에 따로 폴더를 만들어서 저장하도록 만들었습니다.
그리고 갤러리앱으로 들어가서 확인을 해 보면 이미지가 없습니다 ㅠ
그런데 usb 연결을 하고 나서 갤러리에 들어가보면
만든 폴더 안에 이미지가 보입니다.
이렇게 usb연결을 해야지 이미지가 업데이트가 되더라구요.
왜이러는 걸까요?
다음은 주요코드입니다.
public void saveImage(Context context, Bitmap bitmap, String saveName){
try{
String sdcard = Environment.getExternalStorageDirectory().getAbsolutePath(); // sd카드경로
File path = new File(sdcard+File.separator
+"DCIM"+File.separator
+"myfolder");
if(!path.exists()) path.mkdir(); // 위의 폴더가 없으면 생성
String savePath = path
+ File.separator
+ saveName;
FileOutputStream fos = new FileOutputStream(savePath);
bitmap.compress(CompressFormat.PNG, 100, fos);
fos.close();
// bitmap.recycle();
// 저장한 이미지를 갤러리에서 볼 수 있게 미디어스캔한다.
context.getApplicationContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED), path.getAbsolutePath());
Toast.makeText(context, "저장되었습니다.", Toast.LENGTH_SHORT).show();
}
catch(Exception e){e.printStackTrace();}
}
path를 직접 주는것보단 어차피 미디어 스캔 브로드캐스트는 volume 단위니 sdcard 경로로 주는게 맞을 것 같습니다.
그리고 개별로 주는 방법도 있으니 MediaScannerConnection 메소드 찾아보셔서 하나만 추가할 수 있는 것도 해보심 좋을것 같네요
답변 감사합니다
MediaScannerConnection도 해 봤구
스캔 브로드캐스트 경로를 sdcard경로로 바꿔도 보구 했는데.. 안되네요 ㅜ
usb를 연결해서 컴하고 한 번 동기화해야지 폰의 갤러리에서도 이미지가 나타납니다 ㅠㅠ
로그도 찍어봤는데 스캔 과정에는 이상이 없는 것 같은데 참 이상하네요..T^T
이거보다는 api로 직접호출하는 것이 좋구요!
위소스는 파라미터 전잘이 다른거 같네요.