Android screen orientation handling issue
andengine, android, java, live-wallpaper, screen-orientation
Solution
In my live wallpaper, which handles orientation changes, I use the `onConfigurationChange()` method to check for orientation changes, but I don't have any direct experience with the 2 phones, though I've never gotten any complaints about them. My method looks something along the lines of:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
rotated = true;
}
else {
rotated = false;
}
}
And in the `draw()` method, I check the `rotated` boolean. There's additional checks in the `onSurfaceChanged()` to correct for resolution changes when the orientation changes.
I don't have `android:configChanges="keyboardHidden|orientation"` in my manifest file at all.
Problem
I'm working on the android live wallpaper applications and need to correctly handle screen orientation changes. Currently I use `onConfigurationChanged` for this purpose(in this method I need to change coordinates of my LWP screen elements. I use `andengine`). Everything works fine on the emulators and my test phones, but some my customers with Samsung Galaxy Note2 (t03g), LG thrill(LGE LG-P925) reports the issues with incorrect application work during the screen orientations change. I don't have these phones on hand, but can suppose that the issue is related to `onConfigurationChanged` not being called. Is it correct to use `onConfigurationChanged` method ? Maybe I need to use `onSurfaceChanges` or something like that ? Could you please suggest me the correct way to solve this issue ? Alos, I have added `android:configChanges="keyboardHidden|orientation"` into my `AndroidManifest.xml` : ``` <activity android:name=".WallpaperSettings" android:configChanges="keyboardHidden|orientation" android:exported="true" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.PREFERENCE" /> </intent-filter> </activity> ```