У моего приложения было странное поведение, поэтому я воссоздал приложение до момента, когда он прослушивал и обнаружил, что ScreenOrientation.Landscape является виновником.Xamarin Android возможно ScreenOrientation.Landscape ошибка
Если вы сделаете новое пустое приложение в визуальной студии 15 и заменить MainActivity с:
[Activity(Label = "TestLandscapeBug", MainLauncher = true, Icon = "@drawable/icon",
ScreenOrientation = ScreenOrientation.Landscape)]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
System.Console.WriteLine("OnCreate");
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
}
protected override void OnDestroy()
{
System.Console.WriteLine("OnDestroy");
base.OnDestroy();
}
protected override void OnPause()
{
System.Console.WriteLine("OnPause");
base.OnPause();
}
protected override void OnRestart()
{
System.Console.WriteLine("OnRestart");
base.OnRestart();
}
protected override void OnResume()
{
System.Console.WriteLine("OnResume");
base.OnResume();
}
protected override void OnStart()
{
System.Console.WriteLine("OnStart");
base.OnStart();
}
protected override void OnStop()
{
System.Console.WriteLine("OnStop");
base.OnStop();
}
}
запустить приложение и нажмите кнопку режима сна: OnPause, OnStop, OnDestroy, OnCreate, OnStart, OnResume и Вызывается OnPause.
Если вы удалите ScreenOrientation = ScreenOrientation.Landscape OnPause и OnStop.
Это ошибка? Или я делаю что-то неправильно? Как я могу исправить это или использовать что-то другое, которое блокирует экран в ландшафте.
Вы также можете использовать [Actitity (ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize)] для блокировки отдыха. –
@ b.holz Приятно знать, не думал об этом! – hankide