Я создаю приложение, которое позволяет пользователю изменять размер предварительного просмотра камеры и делать снимки, которые будут сохранены в галерее устройства, вот моя проблема, это то, что изображение сохраняется в частном каталоге приложения и ононе появляется в галерее.Вот моя логика реализации:
Разрешения в файле манифеста:
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Здесь я создаю и сохраняю файл в личном каталоге:
private Camera.PictureCallback mPicture = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
File pictureFile = getOutMediaFile(MEDIA_TYPE_IMAGE);
if(pictureFile==null){
Log.d(TAG,"Error creating media file, check storage permission: ");
return;
}
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
galleryAddPic(pictureFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
};
Это методкоторый должен сохранить изображение в галерее:
private void galleryAddPic(File pictureFile){
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.fromFile(pictureFile);
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
}
Этот метод выполняется, но все еще не может видеть результат в галерее ....