Ive пытались оглянуться, не смог найти точный ответ на этот вопрос.снимки фотокамеры только сохранены в альбоме камеры
проблема заключается в каждый раз, когда я сохранить файл с камеры, на результате я получить файл в фотоаппарате альбом, а не в любом другом альбоме и только если я удалить фотографии из альбома камеры появляется в другом альбом, который я могу вдруг увидеть, может кто-нибудь помочь мне исправить это? Почему это происходит?
У меня есть намерение камеры я называю, как это>
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_ONE);
}
затем на моем на результат деятельности:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
WorkingOrdersModel myWorkorder = WorkingOrdersModel.getWorkorderById(selectedWorkorderId);
// get images
Bundle extras = data.getExtras();
bitmapFromCamera = (Bitmap) extras.get("data");
if (requestCode == REQUEST_IMAGE_ONE && resultCode == RESULT_OK) {
createDirectoryAndSaveFile(bitmapFromCamera, myWorkorder.workorderWifiSSID.toLowerCase()+"_one.png");
cameraImageOne.setImageBitmap(bitmapFromCamera);
} else if (requestCode == REQUEST_IMAGE_TWO && resultCode == RESULT_OK) {
createDirectoryAndSaveFile(bitmapFromCamera, myWorkorder.workorderWifiSSID.toLowerCase()+"_two.png");
cameraImageTwo.setImageBitmap(bitmapFromCamera);
} else if (requestCode == REQUEST_IMAGE_THREE && resultCode == RESULT_OK) {
createDirectoryAndSaveFile(bitmapFromCamera, myWorkorder.workorderWifiSSID.toLowerCase()+"_three.png");
cameraImageThree.setImageBitmap(bitmapFromCamera);
}
}
и, наконец, процесс сохранения
/**
* saves an image from camera in a spacific place
* @param imageToSave
* @param fileName
*/
private void createDirectoryAndSaveFile(Bitmap imageToSave, String fileName) {
File direct = new File(Environment.getExternalStorageDirectory() + "/WINTouch");
if (!direct.exists()) {
File wallpaperDirectory = new File("/sdcard/WINTouch/");
wallpaperDirectory.mkdirs();
}
File file = new File(new File("/sdcard/WINTouch/"), fileName);
if (file.exists()) {
file.delete();
}
try {
FileOutputStream out = new FileOutputStream(file);
imageToSave.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
thnx, можете ли вы привести пример того, как использовать такое намерение? –
Вы сделали Google? – greenapps