获取Locale对象的两个方法之间有什么区别

时间:2013-10-24 11:09:50

标签: android android-layout android-intent android-listview

在android中,我可以通过以下方式获取Locale实例:

Locale locale = getContext().getResources().getConfiguration().locale;

或者通过:

Locale.getDefault().toString();

任何人都可以对这两者之间的差异进行具体解释

是否一个用于应用级别区域设置而另一个用于系统区域设置?

另一个问题:有没有办法以编程方式更改设备级别区域设置? (非应用级语言区域

提前致谢。

1 个答案:

答案 0 :(得分:0)

来自android documentation for Locale

  

您可以使用getDefault()为用户获取适当的区域设置   您正在运行的设备

来自android documentation for Configuration

的Andr
  

区域设置:区域设置的当前用户首选项

所以是的,.getConfiguration()语言环境是基于应用程序的用户首选项,而getDefault()语言环境是(仍然是用户特定的)设备级别选择。