如何在android中获取活动区域设置?

时间:2011-03-22 05:47:14

标签: android

我在android中制作了一个多语言应用程序。在我的语言选择活动中,我让用户选择他们的首选语言。当用户选择我使用以下代码更改应用程序的配置时:

    Locale locale = new Locale(lang);
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    getBaseContext().getResources().updateConfiguration(config,
          getBaseContext().getResources().getDisplayMetrics());

现在在加载活动之前我想检查用户是否更改了语言环境,或者它是否相同。 我想获得活动的语言环境。我知道如何获取应用程序区域设置...

1 个答案:

答案 0 :(得分:1)

首先将以下内容添加到AndroidManifest.xml中的activity标记

<activity 
    .....
    android:configChanges="locale"
    ....>
    .....
</activity>

以上将使应用程序能够在语言和语言环境中更改配置时进行更新。

在Activity类中使用以下java编码,最好在onResume()和onCreate()方法中。

 public class localeExample extends Activity {
            Locale l;

            /** Called when the activity is first created. */
            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                l=new Locale();
                l=Locale.getDefault();
            }

            /** Called when the activity is resumed. */
            @Override
            protected void onResume(){
                super.onResume();
                l=new Locale();
                l=Locale.getDefault();
            }
}