我正在尝试获取刚用Android Camera App拍摄的照片。 但似乎我没有正确发送Intent Extras。
为照片创建文件:
//Crear el nombre del archivo de la foto y el directorio
String marcaDeTiempo=new SimpleDateFormat("yyyyMMdd_HHmmss").format(new java.util.Date());
String nombreArchivoFoto ="JPEG_"+marcaDeTiempo+"_";
File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File image=File.createTempFile(
nombreArchivoFoto,".jpg",storageDir
);
pathFotoActual =image.getAbsolutePath();
return image;
}
使用相机的意图:
Intent hacerFotoIntent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if(hacerFotoIntent.resolveActivity(getPackageManager())!=null){
File archivoFoto=null;
try{
archivoFoto=crearArchivoImagen();
}
catch(IOException ex){
ex.printStackTrace();
}
//Si no hubo errores al crear las imagenes:
if (archivoFoto!=null){
Uri photoURI= FileProvider.getUriForFile(this,
"com.consultor_OperativoAlmacen.fileprovider",
archivoFoto);
**hacerFotoIntent.putExtra(MediaStore.EXTRA_OUTPUT,photoURI);**
startActivityForResult(hacerFotoIntent,REQUEST_TAKE_PHOTO);
finish();
}
}
}
和onActivityResult:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_TAKE_PHOTO && resultCode==RESULT_OK)
{
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
m_ImageButton1.setImageBitmap(imageBitmap);
}
}
感谢您的帮助。