onConfigurationchanged is not called over jellybean(4.2.1)
Asked Answered
A

3

7

I really suffer from this issue. I already set the flag android:configChanges="keyboardHidden|orientation|locale"

But when I changed configuration of language, onconfigurationchanged function isn't called. The strange thing is that my codes work fine over other android platform.

I searched this issue here. Someone said that I need to set sdk version lower. But it didn't work.

Please give me some tips.

Archaeopteryx answered 13/12, 2012 at 8:58 Comment(0)
S
14

Add the layoutDirection attribute, such as android:configChanges="keyboardHidden|orientation|locale|layoutDirection" if you're working with API 17.

layoutDirection that is also connected with interface language changes was introduced in API 17. Piece of android docs about android:configChanges is not explicit enough about that fact, but at least we have:

layoutDirection: The layout direction has changed. For example, changing from left-to-right (LTR) to right-to-left (RTL). Added in API level 17.

Southern answered 19/12, 2012 at 18:53 Comment(3)
Thank so much. :) Your answer is working. Why should i add layoutDirection configuration for checking whether locale is changed or not?? it is so strange.Archaeopteryx
It worked! Thanks! But, what is the link between layoutDirection and locale?!?Chrotoem
The link between layoutDirection and locale is support for right-to-left languages.Catricecatrina
V
6

From Android 4.2, layout direction will be updated when we change language. Then we have to add both "locale" and "layoutDirection" as below android:configChanges="locale|layoutDirection", that time onConfigurationChanged() will be called.

This is similar with "orientation" and "screenSize" in API 13.

Vicinage answered 11/7, 2014 at 9:9 Comment(0)
M
-13

do u config AndroidManifest.xml like this?

android:minSdkVersion="4" android:targetSdkVersion="17"

you need to remove android:targetSdkVersion attribute

Maunder answered 30/10, 2013 at 3:43 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.