阻止 android activity 在区域设置更改时被销毁
Stop android activity from being destroyed on locale change
我有一个 android 应用程序可以自行处理区域设置更改。
当我离开应用程序并更改语言环境时 "Application->onConfigurationChanged" 被调用(不是 Activity->onConfigurationChanged),当我恢复应用程序时 activity 被销毁并重新启动。
我已经将 android:configChanges="orientation|keyboardHidden|screenSize|locale"
放入清单的 activity 部分。
如何阻止我的 activity 在区域设置更改后重新创建?
对 Android 中配置更改的默认反应
就是摧毁activity。为了避免这种情况发生
区域设置更改,我们有 "locale" 配置更改
在默认 AndroidManifest.xml 中注册,但是,
您还需要注册您正在处理
layoutDirection改变,否则Android不会
调用 onConfigurationChange() 进行语言更改,但是
取而代之的是拆除 activity。
添加 android:configChanges="layoutDirection|locale"
可防止 activity 在恢复时被破坏。
您可以将此添加到清单文件中的 activity,android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
我有一个 android 应用程序可以自行处理区域设置更改。 当我离开应用程序并更改语言环境时 "Application->onConfigurationChanged" 被调用(不是 Activity->onConfigurationChanged),当我恢复应用程序时 activity 被销毁并重新启动。
我已经将 android:configChanges="orientation|keyboardHidden|screenSize|locale"
放入清单的 activity 部分。
如何阻止我的 activity 在区域设置更改后重新创建?
对 Android 中配置更改的默认反应 就是摧毁activity。为了避免这种情况发生 区域设置更改,我们有 "locale" 配置更改 在默认 AndroidManifest.xml 中注册,但是, 您还需要注册您正在处理 layoutDirection改变,否则Android不会 调用 onConfigurationChange() 进行语言更改,但是 取而代之的是拆除 activity。
添加 android:configChanges="layoutDirection|locale"
可防止 activity 在恢复时被破坏。
您可以将此添加到清单文件中的 activity,android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"