2015-03-10 4 views
2

Мое приложение использует библиотеку третьей стороны, и эта библиотека запускает службу START_STICKY. Таким образом, даже приложение уничтожается, а служба убивается, он автоматически перезапускается.Android, как остановить службу START_STICKY

Мой вопрос: есть ли способ изменить этот жизненный цикл службы так же, как и приложение? служба запускается при запуске приложения, служба останавливается, когда приложение остановлено.

ответ

0

Я думаю, что у вас есть 2 варианта:

  • У вас есть доступ к это намерение сервиса? в этом случае вы можете позвонить stopService(theIntent)
  • Если вы можете получить доступ к экземпляру службы вы можете сделать stopSelf()
+1

Спасибо! Я попытался: намерение намерения = новое намерение (это, Service.class) в onDestroy. Но служба все еще перезапустилась. Как я могу получить доступ к экземпляру сервера? – lseeo

+0

Вы имеете в виду stopService (новый Intent (yourContext, TheService.class))? В этом случае я думаю, что библиотека снова запускает его. Можете ли вы предоставить дополнительную информацию о библиотеке? –

+2

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

0

Добавить пристальный Фильтр к этой службе в файле манифеста

<service 
     android:name="ServiceName" 
     android:enabled="true" 
     android:exported="true"> 
     <intent-filter> 
      <action android:name="IntentName"/> 
     </intent-filter> 
    </service> 

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

String intentName="IntentName"; 
Intent i=new Intent(itentName); 
context.stopService(i); 

или

context.startService(i); 
Смежные вопросы