2

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

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

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


为了让自己清楚 - 我有调用 Activity B 的活动 A(我有更多的活动,所有活动都
在 AndroidManifest 中使用 android:launchMode="singleInstance")。在活动 BI 中更改了区域设置语言并通过以下几行返回到活动 A:

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

语言环境更改不会影响活动 A(但会影响所有其他活动,其中包括活动 B)。我认为它不影响活动 A 的原因是活动 A 仍在堆栈中。更改语言环境时,我没有设法影响活动 A。有谁知道如何影响活动 A?

4

1 回答 1

1

我希望能够在我的应用程序内单击按钮来更改我的手机设置。准确地说,我想更改手机的语言。

这是不可能的,对不起。

在一个按钮内点击我改变了配置如下

最多,这会影响您的应用程序,而不是“电话”。

有谁知道如何使此代码影响我的所有活动?

在每个活动中运行相同的代码,例如 from onResume()

于 2013-04-12T16:15:23.707 回答