阻止Android活动在区域设置更改

时间:2016-01-20 12:54:32

标签: java android android-activity locale

我有一个Android应用程序,可以自行处理区域设置更改。 当我离开应用程序并更改语言环境时,“Application-> onConfigurationChanged”被调用(NOT Activity-> onConfigurationChanged),当我恢复应用程序时,活动被销毁并重新启动。

我已将android:configChanges="orientation|keyboardHidden|screenSize|locale"放入清单的活动部分。

如何在区域设置更改后停止在简历中重新创建活动?

2 个答案:

答案 0 :(得分:7)

Android中对配置更改的默认响应 是破坏活动。为了避免这种情况发生 区域设置更改,我们有"区域设置"配置改变 但是,在默认的AndroidManifest.xml中注册 你还需要注册你正在处理的 layoutDirection改变,否则Android不会 调用onConfigurationChange()进行语言更改,但是 推翻活动。

添加android:configChanges="layoutDirection|locale"可以防止活动在恢复时被销毁。

Source

答案 1 :(得分:0)

您可以将其添加到mainfest文件中的活动中,             机器人:configChanges = “键盘| keyboardHidden |取向|屏幕布置| uiMode |屏幕尺寸| smallestScreenSize”