Прямо сейчас у меня есть действие с методом PrepareData(), используемое для подготовки всех данных, необходимых для текущего действия, которое вызывается в OnCreate, прежде чем я все настрою. Я вызываю этот метод, и когда нахожу какую-то проблему, я хочу завершить текущую деятельность.
Итак, это фрагмент моего кода:
private void PrepareData()
{
try
{
//some code to prepare data here
}
catch(Exception ex)
{
Intent _startNewActivity = new Intent(this, ActivityB);
this.StartActivity(_startNewActivity);
this.Finish();
}
}
и OnCreate вот так
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Create your application here
SetContentView(Resource.Layout.ActivityA);
PrepareData()
toolbar = FindViewById<Toolbar>(Resource.Id.toolbar);
if (toolbar != null)
{
SetSupportActionBar(toolbar);
SupportActionBar.Title = "Activity A";
SupportActionBar.SetDisplayHomeAsUpEnabled(true);
}
}
Прямо сейчас, когда приложение находит ошибку в PrepareData, вызывается намерение, а также вызывается this.Finish(), но почему-то приложение не завершает действие A немедленно, оно по-прежнему устанавливает панель инструментов, а также вызывает onResume.
Я знаю, что есть жизненный цикл активности, который onStop всегда вызывается после onResume, но я хочу знать, есть ли способ немедленно завершить текущую активность, без вызова следующего кода?