How should I forward Intent parameters through chains of Activities?

I think the best and cleaner way to do it is to initialize the next Intent using the received Intent through the Intent(Intent) constructor.

Intent newIntent = new Intent(receivedIntent);

If a parameter is system wide, it may be easier to store it in Shared Preferences until it is changed (such as difficulty of a game). It would have the side effect of remembering the set difficulty when the user leaves the app.


I dont know why you would want to copy all the other properties using a constructor.

newIntent.putExtras(oldIntent);

Should do the trick.