android - 更改应用程序区域设置后如何获取设备区域设置

标签 android location locale device

我正在根据用户选择更改应用程序区域设置。独立于设备区域设置。

使用

public void setDefaultLocale(Context context, String locale) {
        Locale appLoc = new Locale(locale);
        Locale.setDefault(appLoc);
        Configuration appConfig = new Configuration();
        appConfig.locale = appLoc;
        context.getResources().updateConfiguration(appConfig,
                context.getResources().getDisplayMetrics());
    }

但我也想知道设备区域设置是什么。

当我试图得到这个时,我总是得到我设置为应用程序的语言环境。

例如:应用程序是英文,设备是中文。 我一直在学习英语

用于获取语言环境,

选项 1.

String locale = context.getResources().getConfiguration().locale.getCountry();

选项 2.

String local_country = ((Activity) context).getBaseContext().getResources().getConfiguration().locale.getCountry();

任何帮助将不胜感激!!!

最佳答案

我问了类似的问题并找到了这个答案,如果晚了抱歉:

要查找系统语言环境,请使用:

defaultLocale = Resources.getSystem().getConfiguration().locale;

无论为应用程序/Activity 设置了哪个默认区域设置,它都会获取系统区域设置。

关于android - 更改应用程序区域设置后如何获取设备区域设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14394735/

相关文章:

javascript - Framework7 上未显示涟漪效果和图标

android - 以编程方式检测 "Let Google apps access your location"是否已禁用

android - 如何将我的应用程序设置为德语区域设置

android - 无法将新的 APK 文件上传到 Android Play 商店(谷歌支付)

java - 如何在 Android 中使布局高度等于其宽度?

java - 屏幕解锁后相机卡住

ios - iPhone 中的后台任务或更新位置

Android O - 旧的启动前台服务仍在工作?

c - 指定 RIDEV_NOLEGACY 时,Win32 原始输入会阻止输入区域设置切换

python - wxPython i18n 未加载