Ho una domanda su come scattare un'immagine utilizzando l'intento della fotocamera (o l'API della fotocamera) e quindi portare l'immagine in un'immagine che io possa visualizzare nella mia applicazione. Questo è quello che ho finora.Scatta una foto con l'intento della videocamera e visualizzala in imageView o textView?
I ha installato un pulsante
Button btnPicture = (Button) findViewById(R.id.btn_picture);
btnPicture.setOnClickListener(this);
ho messa a punto di un metodo telecamera
private void Camera() {
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE_CODE);
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(intent, REQUEST_CODE);
}
E questo è dove mi sono perso. Sto cercando di elaborare l'immagine che ho scattato.
private void processImage(Intent intent) {
setContentView(R.layout.imagelayout);
ImageView imageView = (ImageView)findViewById(R.id.image_view);
cameraBitmap = (Bitmap)intent.getExtras().get("data");
imageView.setImageBitmap(cameraBitmap);
}
Il mio intento è quello di visualizzare l'immagine che hai scattato all'interno di image_view. Non ricevo un errore, non succede nulla. Quando scatto la foto, mi viene chiesto di scattare un'altra foto o dopo aver usato il pulsante di chiusura del dispositivo, la forza dell'applicazione si chiude. Sembra che io sia completamente escluso dalla mia applicazione, e il ritorno è un grosso problema. Eventuali suggerimenti? Cosa mi manca?
O sì, e qui è il mio onActivityResult
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(TAKE_PICTURE_CODE == requestCode) {
Bundle extras = data.getExtras();
if (extras.containsKey("data")) {
Bitmap bmp = (Bitmap) extras.get("data");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] image = baos.toByteArray();
if (image != null) {
Log.d(TAG, "image != null");
}
} else {
Toast.makeText(getBaseContext(), "Fail to capture image", Toast.LENGTH_LONG).show();
}
}
}
Sto cercando di mettere l'immagine in getExtras, e poi conservarlo in un ByteArray. Un'altra cosa che stavo cercando di fare. Non sono sicuro di come tutto si riunisce.
Inserisci il tuo codice per 'onActivityResult()' .. –