вопросы обслуживания Android - PullRequest
0 голосов
/ 31 марта 2011

Я прочитал это http://developer.android.com/guide/topics/fundamentals/services.html и там говорится, что срок службы службы зависит от того, как я ее запустил, либо через onStartCommand () и служба работает (почти) навсегда, либо через onBind () и только службуработает до тех пор, пока работает мое приложение.

Теперь я читаю http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/AlarmService.html, там служба запускается через AlarmManager.Ни методы onBind (), ни onStartCommand () не используются.Какова жизненная сила этой службы сейчас?

Второй вопрос, каким образом (как?) Гарантируется, что если приложение запускается снова и снова, что служба запланирована только один раз?

Спасибо,A.

1 Ответ

0 голосов
/ 31 марта 2011

или через onBind (), и служба работает только до тех пор, пока работает мое приложение.

Точнее, он работает до тех пор, пока все bindService() вызовы не будут соответствовать unbindService() вызовам.

Ни методы onBind (), ни onStartCommand () не используются

Это не Service, несмотря на название. Это Activity.

Второй вопрос, каким образом (как?) Гарантируется, что если приложение запускается снова и снова, то служба запланирована только один раз?

PendingIntent будет эквивалентен для двух вызовов setRepeating(), поэтому второй setRepeating() должен перезаписать первый. При этом это небрежный пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...