In my case, I didn't realize I was calling startActivityForResult from an activity that had the android:noHistory attribute set to true in the manifest. Therefore, the onActivityResult was never called as there was no activity instance anymore.

I had the same problem using onActivityResult(); cause i didn´t understand how this will be correctly applied, here you can find a good explanation how to use onActivityResult
onActivityResult doesn't work ???

There is bug in android API. In startActivityForResult(intent, requestCode);
This funktion does work as long as requestCode = 0. However, if you change the request code to
anything other than zero, the ApiDemos will fail (and OnActivityResult won't be called).
Found here: