Сервис Android: onBind (Intent) и onUnbind (Intent) вызывается только один раз

У меня есть активность и сервис. Когда активность запускается, она вызываетstartService() сделать эту Службу живой, даже когда Деятельность уничтожена, иbindService(), для связи с этим Сервисом.

bindService() возвращает истину,mService.onBind() называется, иServiceConnection.onServiceConnected() тоже называется. Все работает.

Когда я уничтожаю свою активность, нажимая клавишу Назад, она вызываетunbindService(), и мойmService.onUnbind() называется. (я возвращаюсьfalse в этомonUnbind().)

Затем я снова начинаю это занятие,bindService() возвращает истину, а затемmService.onBind() являетсяНЕ называется! НоServiceConnection.onServiceConnected() тоже называется, и все снова работает.

Похоже, Далвик помнит, что мойonBind() вернулся в прошлый раз и просто не звонилonBind() очередной раз. Когда я снова разрушу свою деятельность,onUnbind() являетсяНЕ тоже звонил.

Я могу связывать и отменять привязку этого Сервиса к моей Деятельности любое количество раз, но эти методы больше не будут вызываться до тех пор, пока я не уничтожу Сервис путем открепления и вызоваstopService().

В документах я не могу найти объяснения этому поведению. Наоборот,эта фигура показывает, чтоonBind() а такжеonUnbind() должен вызываться каждый раз, когда клиенты связывают и отменяют привязку Сервиса. Эта цифра может быть найдена на днеэто руководство для разработчиков.

Ответы на вопрос(2)

Ваш ответ на вопрос