端末の向きを変えると異常終了

 端末の向きを変更すると異常終了する。
 作ってるアプリを起動し、「横向き(LANDSCAPE)←→縦向き(PORTRAIT)」の変更をするとアプリが異常終了するんだ。
 どうも Activity が初期化されてしまうのが原因のようだ。
 Android では画面の向きを変える際、Activity が初期化されてしまうらしい。
 それで予期しない初期化が起きて、異常終了するみたい。

 それじゃ、画面の向きを固定すればいい話し。
 でも、固定したくない場合もあるよね。
 その場合、「向きを変えても初期化しない」ようにすればいい。

Manifest の設定

 初期化しないようにするには、AndroidManifest.xml に configChanges=”orientation” を追加する。

<activity android:name=".XmSpriteView_Test"
		android:label="@string/app_name"
		android:configChanges="orientation">
</activity>

 orientation は、初期化をAndroid に任せず、アプリが行うということらしい。

 この設定は、eclipse の機能を使うと簡単に追加・設定できるよ。

1. eclipse でAndroidManifest.xml を開く

2. ウィンドウ下にある、「アプリケーション」タブをクリック

3. 設定するActivity をクリック

4. 右下のエリアにある、「Config changes」の「選択」ボタンをクリック。
 するとダイアログが出るので、その中の「orientation」をチェック。

 以上で設定が追加される。

Comments are closed.