I use this code to change the locale of my app programatically:
Locale.setDefault(locale);
Configuration config = getBaseContext().getResources().getConfiguration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
recreate();
Works like a charme for this activity and all activities afterwards, but if I use the back-function of my cellphone, the last activity is reused, with the old locale.
Any way to invalidate the last activity or to force recreate on it?