Я уже некоторое время пытаюсь понять это и не могу понять, почему это происходит.Кажется, это было бы просто, но я не могу заставить это работать.
Вот что я хотел бы случиться
Когда я запускаю приложение,1. Если фоновая служба (долго работающая синглтон-служба) не запущена, запустите ее перед началом действия.2. Запустите действие «домашняя страница»
Обновлено 8/20 Вот что происходит:1. Я запускаю приложение, а служба не работает2. Я начинаю намерение (через context.startService)- context.startService вызывается3. Действие заканчивается4. OnStartCommand запускаетсяКак я могу запустить onStartCommand до того, как начнется выполнение действия ??
Любой совет на этот счет избавит от многих разочарований.Я искал на форумах, прежде чем спросить это, но не смог найти ничего, что соответствует моим проблемамБольшое спасибо!
Обновление Спасибо за быстрые ответы.Я должен был упомянуть, что я уже запускаю это из расширения Application (запуска сервиса в методе onCreate).В моей текущей реализации (ниже), вот что происходит для того, чтобы я прошел через приложение.Я думал, что это приведет к запуску службы до начала действия, но действие будет запущено, а затем служба будет запущена.Это главный момент моего замешательства.1. приложение onCreate называется2. метод startService запущен3. запускается начальная деятельность4. сервис onCreate называется- служба onStart никогда не вызывается (вместо этого я попробую onStartCommand, поскольку я не ориентируюсь на старые платформы - спасибо за это предложение, Александр)
public class MyApp extends Application {
@Override
public final void onCreate()
{
if(!MyService.isRunning()) // this is a static method with thread lock
{
Intent i = new Intent(context, MyService.class);
i.setAction(MyConstants.INTENT_START_SERVICE);
context.startService(i);
}
}
}