Можете ли вы запустить IntentService в отдельном процессе?

  1. Можно ли запустить IntentService в отдельном процессе? Как? Если да, то обязательно ли к нему привязываться?
  2. Можно ли запустить IntentService в отдельном процессе и запустить его на переднем плане?
  3. В чем разница между android:isolatedProcess а также android:process? Смотрите: http://developer.android.com/guide/topics/manifest/service-element.html

1 ответ

Решение

1) Можно ли начать IntentService на отдельный процесс? Как? Если да, то обязательно ли к нему привязываться?

Да, вы можете начать IntentService в отдельном процессе. Просто добавь android:process=":whatever" к записи манифеста для этой услуги.

Нет, вам не нужно привязываться к нему. Вы можете общаться с ним, отправив его с помощью startService()

2) Можно ли запустить IntentService в отдельном процессе и запустить его на переднем плане?

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

3) В чем разница между android:isolatedProcess а также android:process? Смотрите: http://developer.android.com/guide/topics/manifest/service-element.html

android:process позволяет контролировать, в каком процессе выполняется каждый конкретный компонент (указав имя процесса). Вы можете сгруппировать компоненты вашего приложения для запуска в отдельных процессах (например, все компоненты пользовательского интерфейса в одном процессе и все службы в другом). Поведение по умолчанию - все компоненты приложения выполняются в одном и том же процессе.

android:isolatedProcess это флаг (true / false), который вы можете установить, если хотите, чтобы определенный компонент службы запускался в отдельном процессе, изолированном от остальной части вашего приложения. Изолированный процесс не имеет каких-либо разрешений, предоставленных остальной части вашего приложения. Обычно разрешения предоставляются приложению, и все компоненты приложения имеют все разрешения, которые получает приложение. android:isolatedProcess доступно только начиная с уровня API 16 (Jellybean). См. http://aleksmaus.blogspot.de/2012/09/a-feature-of-android-jelly-bean.html и Преимущество внедрения тега Isolatedprocess в Службы в JellyBean[Android]

Другие вопросы по тегам