I do not think you should use getApplicationContext() in intent.
From the developer's website.
getApplicationContext() Return the context of the single, global Application object of the current process.
When you startActivityForResult() , it tries to return to the activity specified in the intent that you provide as the global context of the application.
If you have an ActivityB, you should call it as
Intent intent = new Intent(ActivityB.this, ActivityC.class); startActivityForResult(intent, 0);
Then it will try to return to ActivityB when ActivityC is executed.
triggs
source share