Android google 智能锁 - 如何更改语言环境?
Android google smart lock - how to change locale?
我分叉了 firebaseUI-auth 库,他们正在使用 google 智能锁。我面临的问题是我在运行时更改了应用程序的区域设置。我问用户他们想要什么语言环境,然后我更改了语言环境,问题是 google 智能锁提示没有改变。他们保留设备的语言环境。这是我如何更改每个 activity:
的语言环境
public class Util {
private static Locale sLocale;
@NonNull
public static void setLocale(Locale locale) {
sLocale = locale;
if(sLocale != null) {
Locale.setDefault(sLocale);
}
}
public static void updateConfig(@NonNull ContextThemeWrapper wrapper) {
if(sLocale != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
Configuration configuration = new Configuration();
configuration.setLocale(sLocale);
wrapper.applyOverrideConfiguration(configuration);
}
}
然后当 activity 准备好更改语言环境时,它会执行以下操作:
public MyActivity() {
Util.updateConfig(this);
}
它工作正常,但不适用于 google 智能锁,它确实不属于我的应用程序。我如何为 google 智能锁提示插入另一个语言环境?
Smart Lock 对话框是系统提示,设计时使用系统区域设置;它们是一个单独的过程,不打算成为应用程序的一部分 UI。
我分叉了 firebaseUI-auth 库,他们正在使用 google 智能锁。我面临的问题是我在运行时更改了应用程序的区域设置。我问用户他们想要什么语言环境,然后我更改了语言环境,问题是 google 智能锁提示没有改变。他们保留设备的语言环境。这是我如何更改每个 activity:
的语言环境public class Util {
private static Locale sLocale;
@NonNull
public static void setLocale(Locale locale) {
sLocale = locale;
if(sLocale != null) {
Locale.setDefault(sLocale);
}
}
public static void updateConfig(@NonNull ContextThemeWrapper wrapper) {
if(sLocale != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
Configuration configuration = new Configuration();
configuration.setLocale(sLocale);
wrapper.applyOverrideConfiguration(configuration);
}
}
然后当 activity 准备好更改语言环境时,它会执行以下操作:
public MyActivity() {
Util.updateConfig(this);
}
它工作正常,但不适用于 google 智能锁,它确实不属于我的应用程序。我如何为 google 智能锁提示插入另一个语言环境?
Smart Lock 对话框是系统提示,设计时使用系统区域设置;它们是一个单独的过程,不打算成为应用程序的一部分 UI。