0

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 スマート ロック プロンプトで使用する別のロケールを挿入するにはどうすればよいですか?

4

1 に答える 1