Я пытаюсь реализовать заставку для Android-части моего решения UNO. Я могу получить заставку, подождите несколько секунд, но при переходе на главную страницу я получаю следующее исключение в app.cs
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
#if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
// this.DebugSettings.EnableFrameRateCounter = true;
}
#endif
Frame rootFrame = Windows.UI.Xaml.Window.Current.Content as Frame;
// Do not repeat app initialization when the Window already has content,
// just ensure that the window is active
if (rootFrame == null)
{
// Create a Frame to act as the navigation context and navigate to the first page
rootFrame = new Frame(); <<<<< exception
Необработанное исключение:
Java.Lang.NullPointerException: попытка вызвать виртуальный метод 'android.content.res.Resources android.content.Context.getResources ()' для пустой ссылки на объект произошла
Трассировка стека так же проста, как:
0x25 в Uno1.App.OnLunched на C: \ Users \ pjsta \ Documents \ Visual Studio 2017 \ Projects \ Uno1 \ Uno1 \ Uno1.Shared \ App.xaml.cs: 55,17 C #
Соответствующей частью решения являются
1. мой новый SplashActivity в проекте Android
[Activity(Label = "SplashScreen", MainLauncher = true, Theme = "@style/Theme.SplashActivity")]
public class SplashActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
System.Threading.Thread.Sleep(1000);
StartActivity(typeof(MainActivity));
}
}
Модификация MainActivity, чтобы не быть MainLauncher
[Активность (
MainLauncher = false,
ConfigurationChanges = ConfigChanges.Orientation |
ConfigChanges.ScreenSize,
WindowSoftInputMode = SoftInput.AdjustPan | SoftInput.StateHidden)]
открытый класс MainActivity: Windows.UI.Xaml.ApplicationActivity
{
}
Соответствующий стиль загружается для заставки ОК. Переключение MainActivity обратно на MainLauncher = true работает, хотя и без заставки.
Я новичок в разработке Xamarin и Android, но компетентен в UWP. У кого-нибудь есть идеи?