when you press
takePic.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent m_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); imageUri = getImageUri(); m_intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); startActivityForResult(m_intent, REQUEST_IMAGE_CAPTURE); } });
As a result:
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { Log.d("test1",""+imageUri); Intent shareIntent = new Intent(this, SharePicForm.class); shareIntent.putExtra("photo",""+imageUri); startActivity(shareIntent); } }
getImageUri ()
private Uri getImageUri(){ Uri m_imgUri = null; File m_file; try { SimpleDateFormat m_sdf = new SimpleDateFormat("yyyyMMdd_HHmmss"); m_curentDateandTime = m_sdf.format(new Date()); m_imagePath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + m_curentDateandTime + ".jpg"; m_file = new File(m_imagePath); m_imgUri = Uri.fromFile(m_file); } catch (Exception p_e) { } return m_imgUri; }
What I would like to achieve is very simple, cause the cameraβs intention and get the uri of the photo result. But it seems that there is an incompatible device, and it doesnβt work at all on my device. I tried to save the path in a public variable, but when I extract it, it is zero, is there a formal and standard way to implement it and should work on any device? Also, is there a way to not provide a custom path, but get the default uri path from the camera intent?
thanks for the help
android android-intent camera
user782104
source share