Android O Preview4でのfinish()の挙動について
Android O preview 4で特定の動作をさせる際、想定と異なる動作が発生しております。
<発生事象>
縦向き固定でアプリを作成しているが、端末を横向きにした状態で画面遷移を行った場合
一瞬アプリが横向きに表示され、その後縦表示に戻る。
事象の発生するソース(下記参照)と発生しないソースの比較から
finish()を2回実行していることが原因の1つだと思うのですが
事象の発生するソースであっても、Android 7まではアプリが横向きに表示されることなく
縦向き表示で固定されておりました。
次期バージョン(Android8)ではfinish()の挙動がAndroid7以下と異なるのでしょうか。
また、次期バージョンでも横向き表示にならないようにするには、
ソースをどのように書き換えればよいか、ご教示いただけないでしょうか。
以下、事象の発生に関連すると思われる箇所の情報です。
・開発環境
Android Studio:1.3
compileSdkVersion:10
buildToolsVersion:23.0.0
minSdkVersion.apiLevel:10
targetSdkVersion.apiLevel:10
・設定ファイル AndroidManifest.xml(抜粋)
<activity
(略)
android:screenOrientation="portrait"
(略)
/activity>
・事象の発生するソース(抜粋)
finish();
Intent intent = new Intent(遷移元画面.this, 遷移先画面.class); // 遷移元画面・遷移先画面ともFragmentActivityを継承している
getApplication().setIntent(intent);
startActivity(intent);
overridePendingTransition(R.anim.in_right, R.anim.out_left);
finish(); // 2回finish()してしまっている
・事象が発生しないソース(抜粋)
// finish()を行わない
Intent intent = new Intent(遷移元画面.this, 遷移先画面.class); // 遷移元画面・遷移先画面ともFragmentActivityを継承している
getApplication().setIntent(intent);
startActivity(intent);
overridePendingTransition(R.anim.in_down, R.anim.out_no_move); // 事象が発生するソースとはアニメーション設定が異なる
finish();