端末の向きが変わったときにActivityを再起動させない

Android の設定→サウンド&画面設定で 「画面の向き(画面の向きに合わせて縦横表示を切り替える)」 にチェックが付いている場合に、

端末の向きが変わったらアプリの Activity は再起動されてしまいます。

画面の向き、入力デバイス、言語などが変更されると、

Activityは onPause() → onStop() → onDestroy() → onCreate() と処理される模様。

まずは AndroidManifest.xml ファイルを開き、向きが変わったことを検知させたい Activity に以下を追記します。

※configChangesの仕様はこちら

<activity android:name=".test"

android:label="@string/app_name"

android:configChanges="orientation">

次に、対象の Activity 内に向きが変更されたときに呼び出される下記関数を追加します。

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

}

これにて完了です。