I am changing the application locale based on user choice. Independent of device locale.
using
public void setDefaultLocale(Context context, String
If you need to support below Android 7.0 - Nougat (API level 24) you can use something like this:
@SuppressWarnings("deprecation")
@SuppressLint("NewApi")
// ToDo: Adjust this method once the target API is 24 or higher!
private Locale getLocale()
{
if(Build.VERSION.SDK_INT >= 24)
{
return Resources.getSystem().getConfiguration().getLocales().get(0);
}
else
{
return Resources.getSystem().getConfiguration().locale;
}
}
Note the annotation regarding deprecation
and NewApi
. Adjust this method once you target API 24 or higher. Inspired by this answer.