Indeed they are not. The documentation should explain which constants are appropriate. The configuration contains an actual orientation, the activity has a particular orientation *mode* to apply to the activity.
On Fri, Aug 28, 2009 at 10:40 AM, Derek <cram.de...@gmail.com> wrote: > > It seems that constants returned and expected are not the same between > ActivityInfo and Configuration. > Translating Configuration constants to ActivityInfo seems to solve the > problem: > > int orientation = getResources().getConfiguration().orientation; > if (orientation == Configuration.ORIENTATION_PORTRAIT) > initialOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; > else if (orientation == Configuration.ORIENTATION_LANDSCAPE) > initialOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; > > Mark, do you think it's OK ? > > Cheers. > > > On Aug 28, 7:06 pm, Derek <cram.de...@gmail.com> wrote: > > Another question: > > android:screenOrientation="portrait" locks the screen orientation, > > that's fine. > > But it is possible to do the same in Activity source code ? (i.e. > > removing the screenOrientation in AndroidManifest.xml). > > > > I've tried the following code to keep the initial orientation but it > > fails. > > > > private int initialOrientation = > > Configuration.ORIENTATION_UNDEFINED; > > > > public void onCreate(Bundle savedInstanceState) { > > initialOrientation = getResources().getConfiguration > > ().orientation; > > ... > > } > > > > public void onConfigurationChanged(Configuration newConfig) > > { > > super.onConfigurationChanged(newConfig); > > setRequestedOrientation(initialOrientation); > > } > > > > I've also tried with: > > initialOrientation = getResources().getConfiguration().orientation; > > initialOrientation = getRequestedOrientation(); > > initialOrientation = getWindow().getWindowManager().getDefaultDisplay > > ().getOrientation(); > > > > Thanks for the help. > > > > On Aug 27, 9:54 pm, "Mark Murphy" <mmur...@commonsware.com> wrote: > > > > > > I want my Activity to be always in portrait mode and I do NOT want > the > > > > onDestroy() method to be called. > > > > There are some interesting articles about that at: > > > >http://www.androidguys.com/2008/11/24/rotational-forces-part-four/ > > > > > > The solution seems to be: > > > > In AndroidManifest.xml: > > > > <activity android:name=".MyActivity" > > > > android:screenOrientation="portrait" > > > > > android:configChanges="keyboardHidden|orientation"> > > > > > > In Activity code: > > > > public void onConfigurationChanged(Configuration newConfig) > > > > { > > > > super.onConfigurationChanged(newConfig); > > > > } > > > > > > I've tried it and it seems to work. Is there any other alternative or > > > > is it the correct solution? > > > > > Well, I think it's the correct solution. But, then again, I'm biased in > > > favor of the author of that fine, upstanding blog post. > > > > > ;-) > > > > > -- > > > Mark Murphy (a Commons Guy)http://commonsware.com > > > Android App Developer Books:http://commonsware.com/books.html > > > > > > > -- Dianne Hackborn Android framework engineer hack...@android.com Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails. All such questions should be posted on public forums, where I and others can see and answer them. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---