I've seen this question asked many times but none of the answers fit my scenario. I have an app that reads NFC tags and does something with the data. I now want to add camera functionality to the app so that when I press a button, it takes me to the camera, after taking a photo this image should then be displayed. However, the resultCode in onActivityResult always returns 0 instead of 1. I only have 1 activity so I cannot see where my problem is. I have this in my manifest:
<uses-feature android:name="android.hardware.camera" android:required="true"/>
When I press the button that calls the onClick method of launchCamera, it executes this..
public void launchCamera(View view)
{
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
Log.i(TAG, "launchCamera");
}
OnPause is then called which only has
super.onPause();
The camera launches, I take a picture normally, then it closes and goes back to my Activity, And on ActivityResult gets called (I know this because of the logcat messages).
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.i(TAG, "onActivityResult");
Log.i(TAG, String.valueOf(resultCode));
Log.i(TAG, String.valueOf(requestCode));
if(requestCode == 1 && resultCode == RESULT_OK)
{
Bundle extras = data.getExtras();
Bitmap photo = (Bitmap) extras.get("data");
imgView.setImageBitmap(photo);
}
}
But for some unknown reason the resultCode is 0, which I also know from the logcat messages. After this, onResume is then called.
I have no idea why its returning as 0, I cannot find any questions or answers that help me this problem so any input would be great OR if there is an answer to this question which I was unable to find, please point me in that direction, cheers.