Android travando após a câmera Intent
Tenho um aplicativo publicado e um dos recursos fundamentais é permitir que o usuário tire uma foto e salve a foto em uma pasta específica em seu Armazenamento Extern
Tudo parece estar funcionando bem, mas agora recebi dois relatórios que afirmam que depois de tirar uma foto e clicar em "Concluído" para sair da câmera (e retornar à Atividade), o aplicativo é Forçado Fechado, trazendo o usuário de volta à tela inicia
Isso acontece no Samsung Nexus S e no Galaxy Tab. Abaixo, publiquei meu código para mostrar que eu configurei minha intenção e como eu ligo para salvar e exibir a foto em onActivityResult (). Qualquer orientação sobre o que pode estar causando o travamento após o clique em "Concluído" para sair do aplicativo da câmera será muito apreciada!
Novamente, isso parece estar funcionando bem na maioria dos dispositivos, mas eu queria saber se a abordagem deles é mais eficiente e universal. Obrigad
Como estou disparando a intenção da câmera
case ACTION_BAR_CAMERA:
// numbered image name
fileName = "image_" + String.valueOf(numImages) + ".jpg";
output = new File(direct + File.separator + fileName); // create
// output
while (output.exists()) { // while the file exists
numImages++; // increment number of images
fileName = "image_" + String.valueOf(numImages) + ".jpg";
output = new File(outputFolder, fileName);
}
camera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
uriSavedImage = Uri.fromFile(output); // get Uri of the output
camera.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage); //pass in Uri to camera intent
startActivityForResult(camera, 1);
break;
default:
return super.onHandleActionBarItemClick(item, position);
}
return true;
}
Como estou configurando onActivityResult ()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) { // If data was passed successfully
Bundle extras = data.getExtras();
//Bundle extras = data.getBundleExtra(MediaStore.EXTRA_OUTPUT);
/*ad = new AlertDialog.Builder(this).create();
ad.setIcon(android.R.drawable.ic_menu_camera);
ad.setTitle("Save Image");
ad.setMessage("Save This Image To Album?");
ad.setButton("Ok", this);
ad.show();*/
bmp = (Bitmap) extras.get("data"); // Set the bitmap to the bundle
// of data that was just
// received
image.setImageBitmap(bmp); // Set imageview to image that was
// captured
image.setScaleType(ScaleType.FIT_XY);
}
}