Как запустить сервис Android по установке - PullRequest
40 голосов
/ 24 января 2010

У меня есть приложение для управления устройствами, которое по существу запускается как служба в фоновом режиме при загрузке. Я хотел бы запустить это приложение сразу после установки. Как мне этого добиться?

Ответы [ 2 ]

48 голосов
/ 24 января 2010

Вы не можете сделать это - нет способа автоматически запустить службу только потому, что она была установлена.

Приложение должно быть сначала вызвано пользователем посредством какого-либо действия. Или вам нужно подключиться к какой-либо соответствующей трансляции Intent через манифест, чтобы вы могли получить контроль над тем, когда происходит одно из этих событий, и таким образом запустить свой сервис. Или вам нужно будет попросить пользователя перезагрузиться, чтобы ваш BOOT_COMPLETED Intent фильтр мог получить контроль.

10 голосов
/ 13 сентября 2012

Была дыра - SDK Android Analytics раньше отправлял намерение сразу после установки - но это закрылось (конечно, создавая много путаницы).

Но окончательный ответ, я полагаю, здесь:

http://developer.android.com/about/versions/android-3.1.html#launchcontrols

Похоже, что по состоянию на 3.1 Google принял решение, что приложения находятся в остановленном состоянии, пока пользователь явно не активирует их, например, запустив приложение или разместив виджет.

Это означает, что стратегия прослушивания обычной трансляции (т. Е. Тайного запуска вашего приложения) также не будет работать.

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