Я довольно новый для Xamarin/андроида развития, но это довольно много, что я пытаюсь концептуально:Начать деятельность от конструктора другой деятельности?
- Имейте основную деятельность, которая проверяет или не пользователь уже вошел в
- , если пользователь вошел в систему, запустите MainAppActivity
- Если пользователь не вошел в систему, запустите OnboardingActivity
причина, я думаю, что они должны быть в различных видах деятельности для общих соображений дизайна (разделение задач и т.д.) - но также потому, что оба действия имеют разные темы. (The Вводный процесс не имеет строку заголовка)
В коде, это должно быть довольно много, что мне нужно:
[Activity(Label = "MyApp", MainLauncher = true, Icon = "@drawable/icon", Theme = "@android:style/Theme.Black.NoTitleBar")]
public class MainActivity : Activity
{
private readonly TransactionService _transactionService;
public MainActivity()
{
var isLoggedIn = true; // This will be loaded from somewhere
if(isLoggedIn)
{
var intent = new Intent(this, typeof(MainAppActivity));
StartActivity(intent);
}
else
{
var intent = new Intent(this, typeof(OnboardingActivity));
StartActivity(intent);
}
}
}
Однако этот код просто бросает неопределенное исключение.
Если я попробую то же самое во время процесса protected override void OnCreate(Bundle bundle)
, я получаю исключение.
Однако, когда я связываю что-то подобное с событием кнопки и нажимаю его вручную, он будет работать. (Это не мое намерение, но проверить, нет ничего плохого в моей деятельности)
Итак, вопрос в том, как мне сделать что-то вроде этого?
Edit: Вот StackTrace если я попробовать его в конструкторе:
0x29 in System.Diagnostics.Debugger.Mono_UnhandledException_internal C#
0x1 in System.Diagnostics.Debugger.Mono_UnhandledException at /Users/builder/data/lanes/1978/f98871a9/source/mono/mcs/class/corlib/System.Diagnostics/Debugger.cs:122,4 C#
0x6 in Android.Runtime.UncaughtExceptionHandler.UncaughtException at /Users/builder/data/lanes/1978/f98871a9/source/monodroid/src/Mono.Android/src/Runtime/UncaughtExceptionHandler.cs:35,4 C#
0x1C in Java.Lang.Thread.IUncaughtExceptionHandlerInvoker.n_UncaughtException_Ljava_lang_Thread_Ljava_lang_Throwable_ at /Users/builder/data/lanes/1978/f98871a9/source/monodroid/src/Mono.Android/platforms/android-21/src/generated/Java.Lang.Thread.cs:221,5 C#
0x1D in object.b8bd1d31-3e2e-454d-bd94-9d5dea40eddb C#
Вы могли бы включать в себя LogCat захват событий, приведших к аварии? Он должен содержать больше информации, чем просто трассировка стека. – matthewrdev