In a word, yes. The result is not returned until you call finish (). setResult () assumes that the Activity parameter (Activity Result B) was started by calling startActivityForResult () from another action (call it Activity A). Operation B is supposed to end, resulting in an automatic return to activity B.
source share