0

我已经分叉了 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 智能锁提示使用?

4

1 回答 1

1

Smart Lock 对话框是系统提示,并根据设计使用系统区域设置;它们是一个单独的过程,并不打算成为应用程序 UI 的一部分。

于 2018-05-03T13:53:50.807 回答