2017-12-15 8 views
0

이미지 편집 앱을 개발 중이며 편집 된 이미지를 Android 갤러리에 저장해야 사용자가 액세스하여 사용할 수 있습니다.폰 갤러리에 비트 맵을 추가하는 방법은 무엇입니까?

stackoverflow를보고 외장 저장소에 비트 맵을 저장하려고했습니다. 하지만 일부 안드로이드 폰처럼 OnePlus5 외부 저장소가 없습니다. 그래서,이 코드를 사용하여 전화의 내부 저장소에 이미지 저장을 시도했습니다. 그것은 로그에 저장된 이미지의 경로를 반환하기 때문에 완벽하게 작동합니다. 코드 비트 맵에서 편집 된 이미지의 비트 맵입니다.

 ContextWrapper wrapper = new ContextWrapper(getApplicationContext()); 
     File file = wrapper.getDir("Images", MODE_PRIVATE); 
     file = new File(file, "DemoImg2"+ ".jpg"); 
     try { 
      OutputStream stream = null; 
      stream = new FileOutputStream(file); 
      bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
      stream.flush(); 
      stream.close(); 

     } 
     catch (IOException e){ 
      e.printStackTrace(); 
     } 

     Uri savedImagePath = Uri.parse(file.getAbsolutePath()); 

     Toast.makeText(getApplicationContext(), savedImagePath.toString(), Toast.LENGTH_LONG).show(); 
     Log.i("Path:", savedImagePath.toString()); 

하지만 파일 관리자에서 어디 /data/user/0/com.packagename.blurd1/app_Images/DemoImg2.jpg를 찾을 수 없습니다. 저장된 이미지는 갤러리의 어느 곳에도 표시되지 않습니다. 그것에 대해 검색 한 후에, 이미지 자체를 저장 한 앱만 내부 메모리에 저장된 이미지에 액세스 할 수 있으며 사용자는 액세스 할 수 없다는 것을 알고 있습니다. 그럼 어떻게해야합니까 비트 맵 이미지 갤러리 안드로이드 휴대 전화에 외부 저장소이없는 경우 도 직접 처리합니다. 나는 그것에 대해 어떤 대답도 찾을 수 없다.

답변

0

모든 장치에는 외부 저장소가 있습니다. Android 휴대 전화의 외장형 저장 장치가 메모리 카드의 메모리를 의미하는 것은 아니므로 잘못 이해하고있는 것일 수 있습니다. 그것은 모든 전화 회사가 제공하는 8GB, 16GB, 32GB 등의 메모리를 의미합니다. 따라서 이미지를 외부 저장소에 저장해야하고 나중에 해당 이미지를 갤러리에 추가 할 수 있습니다.

이 자습서의 일부분은 이미지를 저장하고 갤러리에 추가하는 데 도움이됩니다.

https://developer.android.com/training/camera/photobasics.html

+0

나는 그것을 시도했다. 하지만 여기에서 언급 한 것은 작동하지 않습니다. https://stackoverflow.com/q/47845325/5358760 – JaySparkexel

관련 문제