Сохраните TcpListener в OnSaveInstanceState (Xamarin) - PullRequest
0 голосов
/ 12 октября 2018

У меня проблема.У меня есть приложение Xamarin для Android, которое открывает TcpListener.Теперь при повороте устройства или разблокировке будет вызываться метод OnCreate.Так что будет создан новый TcpListener, чего я не хочу.Есть ли решение для сохранения ссылки на OnSaveInstanceState в Bundle, чтобы я мог получить доступ к TcpListener в методе OnCreate?

Спасибо

1 Ответ

0 голосов
/ 12 октября 2018

Если вы не хотите, чтобы OnCreate вызывался при изменении ориентации, все, что вам нужно сделать, это добавить следующую строку в заголовок «Активность»:

Для API> 13

ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation

Для API <13 </p>

 ConfigurationChanges =  ConfigChanges.Orientation

Для Например:

[Activity(ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation,...)
public class MainActivity : AppCompatActivity

Обновление

Для изменений, которые необходимо выполнить при изменении ориентации, вы можете просто использовать метод ниже, чтобы внести изменения

  public override void OnConfigurationChanged(Configuration newConfig)
    {
        base.OnConfigurationChanged(newConfig);
        //Config changes here 
    }
...