端末の向きが変わったときに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);
}
これにて完了です。