Q:

Alternative for nested activityForResult? 

In my main activity, when you click a button, normally it bundles some info and startActivityForResult another activity (act2).  Then in onActivityResult, depending on the resultCode, I do something. 
Now I need to add a license check between there.  Main activity, click button, check license, if ok bring up act2.  Now, I bundle some data, startActivityForResult, use that bundle data in my license check to startActivityForResult act2.  Once act2 finishes, it goes into onActivityResult in my license check, which then sets result and finishes, finally going back to my main activity. 
Is there a better way? 

A:

I would suggest the following:

Create a subclass of Activity, say LicensedActivity.  Put all the license checking in onCreate(), and call finish() if the check fails. 
Make act2 as subclass of LicensedActivity

Do you really need to check the license both before and after calling act2?