并发线程上的Android不同语言

时间:2015-02-05 20:36:46

标签: android-resources multiple-languages

在Android应用程序中,我试图在并发线程上同时使用不同的语言。一个线程是主UI线程,另一个是后台电子邮件进程,以各种语言向用户发送电子邮件。问题是,当我在一个线程上更改语言时,它会更改另一个线程上的语言,并且会出现语言泄漏问题。以下是用于更改语言以使用正确资源的方法:

public static Resources getResourcesByLocale(Locale locale,Context context){

    Resources res = context.getResources();
    AssetManager am = res.getAssets();
    DisplayMetrics dm = res.getDisplayMetrics();
    Configuration mainConfig = res.getConfiguration();
    Configuration config = new Configuration();
    config.setTo(mainConfig);
    config.locale = locale;

    return new Resources(am, dm, config);
}

此方法更改系统范围的配置。因此,使用该配置的任何其他进程都将继承由语言环境确定的资源。有没有办法为每个区域设置使用多个配置?除了每次显示文本时都调用此方法,我已经详尽地寻找了解决方案。我们希望在欧洲和中东使用这个应用程序,大约27种语言。 任何帮助将不胜感激。

0 个答案:

没有答案