我已经分叉了 firebaseUI-auth 库,他们正在使用 google smartlock。我面临的问题是我在运行时更改了应用程序的语言环境。我问用户他们想要什么语言环境,然后我更改了语言环境,问题是谷歌智能锁提示没有改变。他们保留设备区域设置。这是我如何更改每个活动的语言环境:
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);
}
}
然后当活动准备好更改语言环境时,它的构造函数是:
public MyActivity() {
Util.updateConfig(this);
}
它工作正常,但不适用于谷歌智能锁,它真的不属于我的应用程序。如何插入另一个区域设置以供 google 智能锁提示使用?