在我的应用中更改设备语言

时间:2013-04-12 15:32:35

标签: android localization

我希望能够在我的应用内点按钮内更改手机设置。确切地说,我想改变手机的语言。到目前为止,我创建了值/字符串和值-ww / strings(希伯来字符串),并在按钮单击中更改了配置,如下所示:

    if (myLocale != null) {
        Locale.setDefault(myLocale);
        Configuration config = new Configuration();
        config.locale = myLocale;
        getBaseContext().getResources().updateConfiguration(config,
                getBaseContext().getResources().getDisplayMetrics());
    }

此代码更改了区域设置(我不确定区域设置和语言之间的区别),但它不会影响我的所有活动。因此,我尝试直接从我的应用更改手机的语言设置,但没有设法。 有谁知道如何让这段代码影响我的所有活动?或者 - 如何改变我的手机语言(反思??)......


为了让自己清楚 - 我有一个活动A,它叫做活动B(我还有很多活动都用了 机器人:launchMode =" singleInstance" 在AndroidManifest中)。 在活动B中,我更改了语言环境语言并通过以下行返回到活动A:

    final Intent intent2 = new Intent(this, MainActivity.class);
    startActivity(intent2.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
    finish();

区域设置更改不会影响活动A(但会影响所有其他活动,其中包括活动B)。我认为它不影响活动A的原因是活动A仍然在堆栈中。在更改区域设置时,我没有设法影响活动A.有没有人知道如何影响活动A?

1 个答案:

答案 0 :(得分:1)

  

我希望能够在我的应用内点按钮内更改手机设置。确切地说,我想改变手机的语言。

这是不可能的,抱歉。

  

在按钮内单击我更改了配置如下

最多会影响您的应用,而不会影响“手机”。

  

有没有人知道如何让这段代码影响我的所有活动?

在每项活动中运行相同的代码,例如来自onResume()