Позвольте мне быстро представить себя: более 30 лет программирования в целом, более 12 лет Java, менее 3 недель Android.
Мой вопрос касается моей архитектуры/дизайна. Будучи таким новичком в Android, мне интересно, имеет ли смысл вся идея. В принципе, я хочу построить Telnet-подобный терминал. Такой терминал обычно имеет долговременное TCP-соединение, которое было бы неплохо не удалять каждый раз, когда активность, отображающая экран, исчезает или всякий раз, когда Android чувствует себя так. Моя идея - использовать службу, которая поддерживает соединение открытым и содержит текущее содержимое экрана telnet. Когда действие (re) создано, оно запускает службу и извлекает содержимое экрана и соединение (java.net.Socket). Он отображает содержимое и использует сокет для дальнейшего вмешательства пользователя. Если пользователь намеренно отключается, только затем я останавливаю службу.
Чтобы пользователь не забыл, что его сеанс telnet открыт в фоновом режиме, я также помещал бы что-то в область уведомлений во время работы службы.
Благодарю!
Вы должны взглянуть на Android: сохранить фоновый сервис в живых (предотвращая процесс смерти)
В принципе, вы можете начать свое обслуживание таким образом, с уведомлением, которое будет показано пользователю, чтобы система не убивала ваш сервис (при обычных обстоятельствах).
Поэтому для Android требуется, чтобы вы показывали пользователю уведомление, если вы собираетесь что-то запускать, а если вы это сделаете, то, в свою очередь, он не убьет ваш сервис.