Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] onActivityResult() vem com parametro data = null

Valew galera, com os links consegui compreender e fazer funcionar!


Obrigado!

Em sábado, 25 de agosto de 2012 11h26min19s UTC-3, Jade Costa escreveu:
Quando tive esse problema usei uma solução similar a essa aqui:


Abs,

Em 25 de agosto de 2012 11:21, Rodrigo Monteiro <rodr...@gmail.com> escreveu:
Desculpe por reviver o topico, faço os teste com android no final de semana, durante a semana é complicato..falta de tempo! =/

dei uma olhada nos links q passou e em alguns outros achado na net

as abordagens que vi são praticamente iguais...tentei algumas e sem sucesso, o arquivo é criado no diretorio passado mas no onActivityResult() o parametro data vem sempre null

segue trechos do meu codigo

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ImageButton imageButton = (ImageButton) findViewById(R.id.btAbrirCamera);
imageButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
fileUri = MediaUtil.getOutputMediaFileUri(MediaUtil.MEDIA_TYPE_IMAGE); // metodo pego no site do android, incluido as linhas outFile.createNewFile(); e outFile.setWritable(true, false);
Log.d(StaticsFields.TAG_LOG, "fileUri = " + fileUri.toString());
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // se eu tirar essa linha, uma imagem de baixa qualidade é retornada
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
}
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

Log.d(StaticsFields.TAG_LOG, "data = " + (data != null));
Toast.makeText(this, "data = " + (data != null), Toast.LENGTH_LONG).show();
if (requestCode == CAMERA_PIC_REQUEST) {
if (resultCode == RESULT_OK) {
if (data != null) { // nunca entra nesse IF
// Image captured and saved to fileUri specified in the Intent
Toast.makeText(this, "Image saved to:\n" + data.getData(), Toast.LENGTH_LONG).show();
Bundle bundle = data.getExtras();
if (bundle != null) {
//Abre o preview
Intent pictureIntent = new Intent(this, PictureActivity.class);
pictureIntent.putExtras(bundle);
startActivity(pictureIntent);
} else {
Log.d(StaticsFields.TAG_LOG, "bundle is null");
}
} else {
Log.d(StaticsFields.TAG_LOG, "data is null");
}
} else if (resultCode == RESULT_CANCELED) {
Log.d(StaticsFields.TAG_LOG, "User cancelled the image capture");
} else {
Log.d(StaticsFields.TAG_LOG, "Image capture failed, advise user");
}
}
}

Em sábado, 18 de agosto de 2012 21h45min53s UTC-3, Neto Marin escreveu:
Ola rodrigo,

Esse é um bug conhecido do Android. Vc precisa definir o output.

Tem algumas threads sobre esse assunto no Stackoverflow:


[]s
Neto
---
Neto Marin

Blog: http://blog.netomarin.com
GTalk: neto...@gmail.com
MSN: neto_...@hotmail.com
Skype: netomarin


2012/8/18 Rodrigo Monteiro <rodr...@gmail.com>

Olá galera,

estou fazendo uma aplicação de teste que envolve a camera, li o "tutorial" no site do android (http://developer.android.com/guide/topics/media/camera.html) fiz os codigos sugeridos, e ainda jogando o data para outra activity e mostrar a foto numa imagemview nesse activity..

olhando o codigo não tinha no que dar errado, mas rodando no galaxy nexus não funcionou, debugando percebi que o parametro "data" esta vazio (null) apos o retorno da Camera,

testei no em outro celular (galaxy 5) e funcionou numa boa...

alguem já sofreu com isso? sabe o pq? e ate como resolver isso?

desde já agradeço! Obrigado!




--
Jade Moreira da Costa

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário