У меня есть приложение для Android, у которого есть постоянный сервис для отслеживания местоположения людей. Я хочу иметь возможность запускать сервис изнутри и прекращать его изнутри. Когда работа выполняется, мне нужно иметь возможность привязываться к службе и общаться с ней через helpl. Однако мне нужно, чтобы служба продолжалась, даже когда деятельность закончилась. Я только хочу, чтобы служба закончилась, когда она была заявлена действием.
До сих пор у меня есть моя деятельность и обслуживание, и они могут общаться через файл helpl. Но на данный момент служба заканчивается, когда происходит действие.
Как мне заставить его продолжать работать, когда действие завершено И как мне восстановить его при перезапуске активности?
Я понял это.
Я использовал метод bindService
, который создал мою службу для меня и привязал к ней (мне нужна привязка), но если служба создается с помощью вызова bindService
, служба работает только до тех пор, пока привязка и поэтому при вызове unbindService
, который я делал, когда моя деятельность была уничтожена, сама служба также была уничтожена.
Однако, если вы создадите свою службу с вызовом createService
, а затем вызовите bindService
, вы свяжетесь с уже запущенной службой. Затем, когда вы придете, чтобы отвязать от него, он больше не уничтожает себя. Служба будет продолжаться до тех пор, пока вы не назовете stopService
.
Затем, когда вы снова вводите свою активность, вы можете проверить, запущена ли служба, и если это просто вызов bindService
другой разумный вызов startService
, за которым следует bindService