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

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


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



为了使自己更清楚-我有一个活动A,该活动称为活动B(我还有很多其他活动,
android: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?

最佳答案

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


不可能,抱歉。


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


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


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


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

10-07 19:27
查看更多