Сам же и отвечу на свой вопрос.
При генерации события serviceModify соответствующей функции передаётся аргумент типа ServiceActivatorEvent. Пусть этот аргумент присвоен переменной e, тогда сравнивая значение функции e.getNewState() со значением констант класса InetServ, можно получить новое состояние услуги:
Код:
int stateValue = e.getNewState();
if( stateValue == InetServ.STATE_ENABLE ) {
// сервис оказался в состоянии "включен"
} else if( stateValue == InetServ.STATE_DISABLE) {
// в состоянии "выключен"
} else if( stateValue == InetServ.STATE_DELETED) {
// "удалён"
} else if( stateValue == InetServ.STATE_NULL) {
// "не изменился"
}
Значение, отдаваемое getNewState(), зависит от состояния договора И состояния услуги. Если статус договора "Активен", то getNewState() == InetServ.STATE_ENABLE, в любом другом случае getNewState() == InetServ.STATE_DISABLE. Если сервис включен, то getNewState() == InetServ.STATE_ENABLE, если выключен, то getNewState() == InetServ.STATE_DISABLE (соответствующие пункты контекстного меню сервиса).