MainActivity -> Click Button -> SecondActivity -> Click Button (удерживать телефон в альбомной ориентации, но в это время содержимое экрана фактически отображается в портретной ориентации) -> содержимое экрана временно отображается в альбомной ориентации и восстанавливается впортрет в секундах.
Кажется, что onConfigurationChanged произошла, но метод onConfigurationChanged () фактически не вызывается.Вместо этого MainActivity уничтожается и воссоздается.
Вопрос в следующем:
Зачем бежать (Держите телефон в альбомной ориентации, но в это время содержимое экрана фактически отображается в портретной ориентации)
1.Toast.makeText (). Show ();
2.finish ();
И тогда экран будет казаться onConfigurationChanged и уничтожать, воссоздавать MainActivity.Как показано ниже.
Но если я изменю порядок на
1.finish ();
2.Toast.makeText (). Show ();
Работает нормально, не разрушает, воссоздает MainActivity.Заранее спасибо, я буду признателен, если вы посмотрите.
I/ContentCatcher: Interceptor : Catcher list invalid for com.android.toastdemo@com.android.toastdemo.MainActivity@198995995
Interceptor : Get featureInfo from config pick_mode
E/MainActivity: onCreate
E/MainActivity: onStart
E/MainActivity: onResume
E/MainActivity: onPause
I/ContentCatcher: Interceptor : Catcher list invalid for com.android.toastdemo@com.android.toastdemo.SecondActivity@231501910
Interceptor : Get featureInfo from config pick_mode
E/SecondActivity: onCreate
E/SecondActivity: onStart
E/SecondActivity: onResume
D/OpenGLRenderer: endAllActiveAnimators on 0x72d5594400 (RippleDrawable) with handle 0x72e2997760
E/MainActivity: onStop
I/Toast: Show toast from OpPackageName:com.android.toastdemo, PackageName:com.android.toastdemo
E/SecondActivity: onPause
E/MainActivity: onDestroy
I/ContentCatcher: Interceptor : Catcher list invalid for com.android.toastdemo@com.android.toastdemo.MainActivity@246614170
Interceptor : Get featureInfo from config pick_mode
E/MainActivity: onCreate
E/MainActivity: onStart
E/MainActivity: onResume
D/OpenGLRenderer: endAllActiveAnimators on 0x72c7e8f800 (RippleDrawable) with handle 0x72e2922720
E/SecondActivity: onStop
onDestroy
E/MainActivity: onPause
E/MainActivity: onStop
onDestroy
I/ContentCatcher: Interceptor : Catcher list invalid for com.android.toastdemo@com.android.toastdemo.MainActivity@185521768
Interceptor : Get featureInfo from config pick_mode
E/MainActivity: onCreate
E/MainActivity: onStart
E/MainActivity: onResume
открытый класс MainActivity расширяет AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((Button) findViewById(R.id.button)).setText("First");
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, SecondActivity.class));
}
});
Log.e(TAG, "onCreate");
}
... some log
}
открытый класс SecondActivity расширяет AppCompatActivity {
private static final String TAG = "SecondActivity";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_main);
((Button) findViewById(R.id.button)).setText("Second");
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(SecondActivity.this, "Toast Something", Toast.LENGTH_SHORT).show();
finish();
}
});
Log.e(TAG, "onCreate");
}
... some log
}
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity"
android:screenOrientation="nosensor">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".SecondActivity"
android:screenOrientation="nosensor"/>
</application>