Android закончить после тоста, когда телефон пейзаж - PullRequest
0 голосов
/ 04 декабря 2018

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>
...