Вам необходимо переопределить onStartCommand()
в вашем Service
, так вы получите ссылку на входящее намерение от startService
.
В этом случае у вас будет специальное действие, направленное на то, чтобы служба остановилась. Вы добавляете дополнения к этому намерению, которые можно прочитать в методе onStartCommand()
.
Пример кода
public class MyService extends Service {
@Override
public int onStartCommand(final Intent intent, final int flags, final int startId) {
final String yourExtra = intent.getStringExtra(YOUR_EXTRA_ID);
// now you can e.g. call the stopSelf() method but have the extra information
}
}
Объяснение
Каждый раз, когда вы звоните, context.startService(Intent)
onStartCommand()
будет вызываться. Если служба уже запущена, новая служба не создается, но onStartCommand
все еще вызывается. Вот как вы можете получить новое намерение с дополнениями для работающей службы.