Я наблюдал это странное поведение с устройствами Android 8.0.
На обеде приложения показывает заставку, как и ожидалось, и переходит к следующему действию (MainActivity). Если я нажимаю кнопку «Назад» в MainActivity, он на мгновение снова показывает заставку и сам возвращается в MainActivity.
Это происходит только в устройствах Android 8.0, проверенных в Samsung S7 и Nexus 5X.
Где, как это работало без проблем в Android 5.0 (Samsung J7).
Здесь я добавил NoHistory = true как в свою заставку, так и в тему заставки.
Код экрана-заставки, аналогичный описанному здесь: xamarin android splash
То, что я пытался:
- Добавление свойства oreo (стиль V26) android: windowSplashscreenContent вместо
Android: фоновое окно в теме. пример ссылки
- Добавляя finish () в заставке после навигации, он работает, но показывает некоторый эффект сбоя, более того, я хочу знать причину вышеуказанного поведения.
Ценится за любые подсказки / первопричину этой проблемы. Спасибо
Edit:
Всплеск активности кода:
[Activity(Theme = "@style/MyTheme.Splash", MainLauncher = true, NoHistory = true)]
public class SplashActivity : AppCompatActivity
{
public override void OnCreate(Bundle savedInstanceState, PersistableBundle persistentState)
{
base.OnCreate(savedInstanceState, persistentState);
}
// Launches the startup task
protected override void OnResume()
{
base.OnResume();
Task startupWork = new Task(SimulateStartup);
startupWork.Start();
}
// Simulates background work that happens behind the splash screen
private async void SimulateStartup()
{
await Task.Delay(1000); // Simulate a bit of startup work.
StartActivity(new Intent(Application.Context, typeof(MainActivity)));
//Finish();
}
public override void OnBackPressed()
{
}
}
Тема:
<style name="InspectTheme.Splash" parent ="Theme.AppCompat.Light.NoActionBar">
<!--<item name="android:windowSplashscreenContent">@mipmap/ic_splash</item>-->
<item name="android:windowBackground">@mipmap/ic_splash</item>
<item name="android:windowNoTitle">true</item>
<item name="android:noHistory">true</item>
<item name="android:windowFullscreen">true</item>
Добавлена запись экрана устройства здесь
Пример загруженного кода здесь