Intereting Posts

Запустить приложение Android без основной активности и запустить службу при запуске приложения

У меня сценарий в моем приложении. В моем приложении нет пользовательского интерфейса, вместо этого есть Служба, которая запускается при загрузке и будет постоянно запускаться.

Как настроить файл манифеста без основного действия? Могу ли я запустить приложение без каких-либо действий? И при запуске моего приложения моя Служба должна начать. Это возможно в любом случае? Я не хочу делать полупрозрачные действия для запуска службы.

Заранее спасибо!!!

Solutions Collecting From Web of "Запустить приложение Android без основной активности и запустить службу при запуске приложения"

Вы сказали, что не хотите использовать прозрачную активность, но это лучший способ сделать это:

  1. В своем манифесте задайте тему «Активность» теме. Theme.Translucent.NoTitleBar .
  2. Не беспокойтесь о макете для своей деятельности и не вызывайте setContentView() .
  3. В onCreate() своей активности запустите свою службу с помощью функции startService() .
  4. Выйдите из Activity с finish() после запуска службы.

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

Я настоятельно рекомендую показать хотя бы уведомление о Toast, указывающее пользователю, что вы запускаете Сервис, или что он уже запущен. Очень плохой пользовательский интерфейс имеет значок запуска, который ничего не делает, когда вы нажимаете его.

Да, вы можете сделать это, просто создав BroadcastReceiver который вызывает вашу Service при загрузке вашего приложения. Вот полный ответ, данный мной.
Android – запуск службы при загрузке

Если вам не нужна никакая иконка / пусковая установка для приложения Application, вы также можете сделать это, просто не создавайте никаких действий с помощью

 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 

Просто объявите свою Service как обычно объявлено.