In our code, we use the getPhoto method, which looks like this:
public void getPhoto(View view) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); captureFile = new File(getCaptureFilePath()); captureUri = Uri.fromFile(captureFile); intent.putExtra(MediaStore.EXTRA_OUTPUT, captureUri); startActivityForResult(intent, CAPTURE_IMAGE); }
And onActivityResult:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Log.w(TAG, "Came"); if (resultCode == RESULT_OK) { if (requestCode == CAPTURE_IMAGE) { try { captureFile = new File(getCaptureFilePath()); captureUri = Uri.fromFile(captureFile); Bitmap scaledBitmap = decodeFileAndResize(captureFile); saveResizedAndCompressedBitmap(scaledBitmap); Bitmap rotatedBitmap = convertToRotatedBitmap(scaledBitmap); driverPhoto.setImageBitmap(rotatedBitmap); Log.w(TAG, "Before recycle"); if (rotatedBitmap != scaledBitmap) { scaledBitmap.recycle(); scaledBitmap = null; System.gc(); } Log.w(TAG, "After recycle"); } catch (IOException e) { BugSenseHandler.log(TAG, e); } } } }
Sometimes, when I click "Ok", onActivityResult
not called ( Came
not written). What is wrong in my code?
EDIT: 12-04 12:43:36.040: INFO/WindowManager(145): WIN DEATH: Window{40839990 com.skalar/com.skalar.activities.RegisterActivity paused=false}
appears in the code when onActivityResult
not called.
source share