我已经分叉 firebaseUI-auth库,他们正在使用谷歌智能锁。我面临的问题是我在运行时更改了应用程序的语言环境。我问用户他们想要什么样的区域设置,然后我更改区域设置,问题是谷歌智能锁提示不改变。他们保持设备的区域设置。这是我如何更改每个活动的区域设置:
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);
}
它工作正常但不适用于谷歌智能锁,这真的不是我的应用程序的一部分。如何为谷歌智能锁提示插入另一个区域设置?
答案 0 :(得分:1)
Smart Lock对话框是系统提示,并按设计使用系统区域设置;它们是一个单独的过程,并不打算成为应用程序UI的一部分。