android更改语言监听器

noi*_*isy 13 android localization

语言可以改变

主页>菜单>设置>区域设置和文本>选择区域设置

我想知道如何才能发现这种变化?在这样的操作过程中,我的应用程序似乎被系统关闭,但我必须100%确定,这是官方规则.

你知道这个吗?

Chr*_*rry 16

为此广播一个Intent:

http://developer.android.com/reference/android/content/Intent.html#ACTION_LOCALE_CHANGED

您可以在清单中注册BroadcastReceiver来处理它.

  • 因为即使它在白名单https://developer.android.com/preview/features/background-broadcasts.html上,但即使在SDK 26之后,这也是安全的广播 (2认同)

noi*_*isy 12

http://developer.android.com/guide/topics/manifest/activity-element.html#config说:

android:configChanges列出活动将自行处理的配置更改.在运行时发生配置更改时,默认情况下会关闭并重新启动活动,但声明具有此属性的配置将阻止活动重新启动.相反,活动仍在运行,并调用其onConfigurationChanged()方法.

注意:应避免使用此属性,并仅将其用作最后的手段.有关如何通过配置更改正确处理重新启动的详细信息,请阅读处理运行时更改.

以下任何或所有字符串都是此属性的有效值.多个值由"|"分隔 - 例如," locale | navigation | orientation".