Cómo guardar imágenes de la cámara en Android a la carpeta específica?

Hola, soy nuevo en Android y he estado intentando crear una aplicación recientemente. Básicamente, lo que quiero hacer es permitir al usuario hacer su propia carpeta y luego ir a una actividad que contiene un botón para iniciar la cámara. Desde allí quiero poder lanzar la cámara y guardar las imágenes de la cámara en la carpeta recién creada. Tengo problemas con la última parte de guardar las imágenes de la cámara en la carpeta recién creada.

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button b = (Button) findViewById(R.id.button1); b.setOnClickListener(new OnClickListener() { EditText text = (EditText)findViewById(R.id.editText1); EditText text2 = (EditText)findViewById(R.id.editText2); @Override public void onClick(View v) { final String name = text.getText().toString(); final String placeName = text2.getText().toString(); String place = placeName.substring(0,3); String direct = name + place ; File folder = new File("/sdcard/CameraTest/" + direct + "/"); folder.mkdirs(); Intent myIntent = new Intent(CameraTestActivity.this, Press.class); myIntent.putExtra("key", "/sdcard/CameraTest/" + direct + "/"); startActivity(myIntent); } }); 

Desde aquí paso a esta actividad:

 public class Press extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.afterenter); final String direct = this.getIntent().getStringExtra("key"); // TODO Auto-generated method stub Button p = (Button) findViewById(R.id.button2); p.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent camera= new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(camera, 1); } }); Button np = (Button) findViewById(R.id.button3); np.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent next = new Intent(Press.this, CameraTestActivity.class); startActivity(next); } }); } } 

Por favor, dime cómo guardar las imágenes de la cámara en la carpeta recién creada. Quiero que el usuario pueda tomar varias fotos y luego guardar estas varias imágenes en esa carpeta específica. ¡Gracias por adelantado!

Agregue este código antes de llamar a la actividad de la cámara,

 Uri uriSavedImage=Uri.fromFile(new File("/sdcard/flashCropped.png")); camera.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage); startActivityForResult(camera, 1); 

Probar esto

Path = Environment.getExternalStorageDirectory () + "/photo1.jpg";

  File file = new File(path); Uri outputFileUri = Uri.fromFile(file); Intent intent = new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY); 

Y que havent implementado onActivityResult …. probar esto puede ayudar u

 public void onActivityResult(int requestCode, int resultCode, Intent data) { System.gc(); if (requestCode == CAPTURE_IMAGE_ACTIVITY) { if (resultCode == Activity.RESULT_OK) { try { // Call function MakeFolder to create folder structure if // its not created if(imageBitmap != null) { imageBitmap = null; imageBitmap.recycle(); } MakeFolder(); // Get file from temp1 file where image has been stored BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 3; imageBitmap = BitmapFactory.decodeFile(path, options); imgForPhotograph.setImageBitmap(imageBitmap); isImageTaken = true; // Name for image IMAGEPATH = getString(R.string.chassisImage) + System.currentTimeMillis(); SaveImageFile(imageBitmap,IMAGEPATH); } catch (Exception e) { Toast.makeText(this, "Picture Not taken", Toast.LENGTH_LONG).show(); e.printStackTrace(); } } } 

Espero que lo entiendas

Debe agregar la ubicación del archivo a la intención de captura de la imagen. Por ejemplo:

 camera.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, [file location]); 

Echa un vistazo aquí

  • Consultas de medios fallan en el navegador de Android
  • Servicio de Android que controla MediaPlayer
  • Android: muestra el micrófono sin grabación para obtener la amplitud / nivel en vivo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.