2011-03-05 2 views
1

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

части услуг производятся, но теперь пользователь должен вручную запустить до службы

есть способ, который я могу сделать сервис запускается автоматически после того, как приложение не в режиме просмотра (либо пользователь нажимает на кнопку дома/щелкает назад или открыть другое приложение)

++ ++++++++ ANSWER ++++++++++

все равно понял, как это сделать уже

@Override 
protected void onPause() 
{ 
    startService(new Intent(this, fileService.class)); 
    super.onPause(); 
} 

@Override 
protected void onResume() 
{ 
    stopService(new Intent(this, fileService.class)); 
    super.onResume(); 
} 

я использовал это, чтобы запустить службу, когда приложение находится в режиме паузы и остановки, когда его резюме

+0

почему бы не просто запустить его при запуске деятельности? –

+0

@ Dan D мои сервисы прекратятся, когда начнется действие .. чтобы не прерывать пользователя, и он должен запускаться только после закрытия пользователем приложения. ура :) – ben

ответ

2

Вы не можете сделать это на уровне приложений, но по уровню деятельности. Activities have a lifecycle, где они получают уведомление, когда их статус изменяется.

Вам необходимо реализовать onPause() или onStop() в вашей деятельности.

+0

erm как мне это сделать? ум обмена или указывая мне на некоторые хорошие ссылки? – ben

+0

У вас уже есть деятельность, не так ли? Просто переопределите методы onPause() и onStop(). Прочтите это, чтобы понять, когда вызовутся эти методы: http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle –

+0

понять, о чем вы говорите, но как переопределить методы? my classes extends Activity – ben

0

Я думал, что ответ должен быть ясным и простым для удовлетворения потребностей.

@Override 
 
protected void onPause() { 
 
    startService(new Intent(this, YourService.class)); 
 
    super.onPause(); 
 
} 
 

 
@Override 
 
protected void onResume() { 
 
    stopService(new Intent(this, YourService.class)); 
 
    super.onResume(); 
 
}

Смежные вопросы