Search code examples
androidillegalstateexceptionactivity-finish

Android IllegalStateException while finishing Activity


I got this exception

"java.lang.IllegalStateException: Can not be called to deliver a result" 

And didn't immediately understand why. Below is my answer to why this happened, maybe this helps someone.


Solution

  • I had called finishAffinity() after having set a result code. Android was complaining that it will never be able to deliver the result when calling finishAffinity().

    Solution: either don't set the result before calling finishAffinity(), or set the result again before calling finishAffinity() but this time with Activity.RESULT_CANCELED as the result code:

    setResult(Activity.RESULT_CANCELED);
    finishAffinity();