У меня очень простой вид на брызговик:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
FirebaseAnalytics.getInstance(this);
mAuth = FirebaseAuth.getInstance();
mAuth.addAuthStateListener(new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
FirebaseAuth.getInstance().removeAuthStateListener(this);
startActivity(new Intent(StartActivity.this, MainActivity.class));
finish();
}
}
});
}
Этот всплывающий экран открывает мой MainActivity
. Когда я закрываю эту активность, это скриншот в последних приложениях:
Похоже, что он делает снимок экрана слишком поздно, что приводит к этому скриншоту последних вложенных приложений. Это также происходит на самом устройстве. Как я могу решить это странное поведение?
Активация манифеста:
<activity
android:name="activities.StartActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="activities.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:launchMode="singleTask">
</activity>
Проблема, похоже, не в launchMode
. У меня такое же поведение. Даже при удалении lauchmode.
Он имеет абсолютно что-то общее с обратным вызовом. При непосредственном запуске операции нет проблем.
EDIT:
Я нашел решение. Использование задержки в начале действия разрешает его. Хотя жестко запрограммированная задержка isn; t это приятно.
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(StartActivity.this, MainActivity.class));
finish();
}
},500);
РЕДАКТИРОВАТЬ 2
Я не получаю такого поведения при прямом запуске операции. Вероятно, это связано с обратным вызовом. Я использую вход в Google. Похоже, что какая-то прозрачная деятельность закрывается. Это может быть активность входа в Google?