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

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

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

Я не хочу делать полупрозрачную активность для запуска службы.

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

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

В своем манифесте установите тему «Активность» наTheme.Translucent.NoTitleBar. Не беспокойся о макете для своей Деятельности и не звониsetContentView(). В твоей деятельностиonCreate(), запусти свой Сервис сstartService(). Выйдите из Активности с помощьюfinish() как только вы запустили Сервис.

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

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

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

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

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

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

ание приложения Widget, которое не нужно запускать.
Как только вы начнете проект, не создавайте никаких действий. После того, как вы создали проект, просто нажмите Run. Android-студия скажетNo default activity found.

Клик Редактировать конфигурацию и в Вариант запуска часть установить Запуск значениеНичего таког. Затем нажмите ОК и запустите приложение. Нет приложения будет отображаться в меню приложений.

Вы можете создать Сервис без основной активности, выполнив несколько простых шагов. Вы сможете установить это приложение через Android Studio и отлаживать его, как обычное приложение.

Во-первых, создайте проект в Android Studio без активности. Затем создайте свой класс Service и добавьте сервис в свой AndroidManifest.xml

<application android:allowBackup="true"
    android:label="@string/app_name"
    android:icon="@mipmap/ic_launcher"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <service android:name="com.whatever.myservice.MyService">
        <intent-filter>
            <action android:name="com.whatever.myservice.MyService" />
        </intent-filter>
    </service>
</application>

Теперь в раскрывающемся списке рядом с кнопкой «Выполнить» (зеленая стрелка) перейдите к пункту «Редактировать настройки» и в разделе «Параметры запуска» выберите «Ничего». Это позволит вам установить Службу без жалоб Android Studio на отсутствие основной активности.

После установки служба НЕ будет работать, но вы сможете запустить ее с помощью этой команды оболочки adb ...

am startservice -n com.whatever.myservice/.MyService

Можете проверить, работает ли ...

ps | grep whatever

Я еще не пробовал, но, вероятно, Android Studio также автоматически запустит службу. Это можно сделать в этом меню «Редактировать конфигурации».

ВАШ ОТВЕТ НА ВОПРОС