firebaseUI -auth ライブラリをフォークしましたが、Google スマートロックを使用しています。私が直面している問題は、実行時にアプリケーションのロケールを変更することです。ユーザーに希望するロケールを尋ねてから、ロケールを変更すると、Google スマート ロックのプロンプトが変更されないという問題が発生します。デバイスのロケールを維持します。各アクティビティのロケールを変更する方法は次のとおりです。
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スマートロックでは機能しません。Google スマート ロック プロンプトで使用する別のロケールを挿入するにはどうすればよいですか?