Обновлен мой код с предложениями @ CommonWare.Загрузить фото в полный размер с камеры
private static final String EXTRA_FILENAME = "qamatris.novi.com.tr.EXTRA_FILENAME";
private static final String FILENAME = UUID.randomUUID().toString().replaceAll("-", "");;
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable(EXTRA_FILENAME, output);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 4) {
Uri uri =Uri.fromFile(output);
Bitmap photo = getScaledBitmapFromUri(ctx, uri);
ByteArrayOutputStream stream2 = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.PNG, 100, stream2);
byte[] resarray = stream2.toByteArray(); }
***How to call camera intent***
Intent i=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (savedInstanceState==null) {
File dir=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
dir.mkdirs();
output=new File(dir, FILENAME);
}
else {
output=(File)savedInstanceState.getSerializable(EXTRA_FILENAME);
}
if (output.exists()) {
output.delete();
}
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(output));
startActivityForResult(i, CONTENT_REQUEST);
Теперь им получать NullPointerException: файл "Uri Uri = Uri.fromFile (выход);" по причине выход - null. эта линия (выход = (File) savedInstanceState.getSerializable (EXTRA_FILENAME);)
Поскольку 'takePictureIntent' создать новый PHONO и не послал битмэп намерения. Попробуйте http://stackoverflow.com/q/10042695/4149649 –
@YuriMisyac takePictureIntent.putExtra (MediaStore.EXTRA_OUTPUT, Uri.fromFile (photoFile)); –