画面の向きの設定はAndroidManifest.xmlの中で設定できます。コードの中で直接いじれないものかやってみましたが、挫折しました。もしかして出来ないのかも。

Activity要素の中のscreenOrientationで設定します。

<activity android:label="Label Name" android:name=".ClassName" android:screenOrientation="landscape">


ドキュメントにある設定値は下記。

・unspecified (システムで判断?)
・landscape (横長の向き)
・portrait (縦長の向き)
・user (ユーザに従う?)
・behind (親のActivityに従う)
・sensor  傾き検知)
・nosensor (傾き検知を常に無視?)

いまいち謎なものもありますが、練習がてらテストできるアプリを作りました。behindなど、Activityのネストにも関係あるものがあったので、一つ目の画面(=FirstActivity)でSecoundActivityの設定、2つ目の画面(=SecoundActivity)でthirdActivityの設定をするようにしてみました。(分かりにくっ)
こんな感じ↓

FirstActivity(ListView)  ←screenOrientation = user
└SecoundActivity(ListView)
 └ThirdActivity(FinalView)

Activityのネストや、Intentを使ったActivity間でデータの受け渡しなどの勉強になりました。ActivityはControllerと考えればよいのかな?という印象。
ちなみにFirstActivityのscreenOrientationはuserにしてます。

1)FirstActivity
親ActivityのscreenOrientationを設定
capcha_1
2)SecoundActivity
子ActivityのscreenOrientationを設定
capcha_2
3)ThirdActivity
子Activityのの表示結果
ori_result

RotateTestソース

ソース公開しといてですが、インストールするとアプリケーションの名前が「RotateTest」ではなく、「Choose parent activity's screenOrientation」と表示されます。
これは、メインのActivityのラベル名になってしまっているためです。ちゃんとstrings.xmlでapp_nameを定義してるのに謎・・・