首页 > 解决方案 > 如果应用程序在后台运行时更改了设备语言,如何检查片段内部?

问题描述

当设备语言更改并且应用程序在后台运行时,我正在尝试刷新片段内的活动。

我创建了此方法来重新创建活动,但我不知道何时调用此方法以及如何检查语言是否已更改。

 private fun recreateActivity() {
    val intent = activity!!.intent
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
    activity!!.finish()
    activity!!.overridePendingTransition(0, 0)
    startActivity(intent)
    activity!!.overridePendingTransition(0, 0)
}

你能告诉我如何处理这个吗?

标签: androidkotlinandroid-fragmentsandroid-activity

解决方案


当应用程序进入前台onResume时,Activity 的生命周期方法将被调用,您可以在其中使用以下代码获取国家和语言:

Locale locale = getResources().getConfiguration().locale;

语言环境由两部分组成:语言和国家。


推荐阅读