public static void change_setting_arabic(Context con) {
try {
/** here add language code */
Locale locale = new Locale("ar");
Class amnClass = Class.forName("android.app.ActivityManagerNative");
Object amn = null;
Configuration config = null;
// amn = ActivityManagerNative.getDefault();
Method methodGetDefault = amnClass.getMethod("getDefault");
methodGetDefault.setAccessible(true);
amn = methodGetDefault.invoke(amnClass);
// config = amn.getConfiguration();
Method methodGetConfiguration = amnClass
.getMethod("getConfiguration");
methodGetConfiguration.setAccessible(true);
config = (Configuration) methodGetConfiguration.invoke(amn);
// config.userSetLocale = true;
Class configClass = config.getClass();
Field f = configClass.getField("userSetLocale");
f.setBoolean(config, true);
// set the locale to the new value
config.locale = locale;
// amn.updateConfiguration(config);
Method methodUpdateConfiguration = amnClass.getMethod(
"updateConfiguration", Configuration.class);
methodUpdateConfiguration.setAccessible(true);
methodUpdateConfiguration.invoke(amn, config);
} catch (Exception e) {
// TODO: handle exception
Log.d("error lang change-->", "" + e.getMessage().toString());
}
}
hi.. I would like to have an appwidget where i can simply tap the icon displayed in my homescreen then the language of my phone will automatically change.. can you provide some android programs in connection to this? by the way ,, im using the eclipse ide for making my programs for my android phone.. im hoping for your fast response. thank you, :)
ReplyDeletefirst you have create any widget in android??
Deleteif yes then put my code in you widget click listner
if no then check this : http://stackoverflow.com/a/6265265/1168654 & http://stackoverflow.com/a/15221402/1168654
Thank you for responding. I will try it now and I'll update you for the progress. :)
Delete