Надеюсь, это поможет!

й Деятельности некоторые внешние вещи (службы) должны быть уничтожены в onDestroy (). Но я не хочу, чтобы это происходило, когда происходит изменение конфигурации (например, вылетает клавиатура), потому что оно будет восстановлено сразу же.

Таким образом, вопрос заключается в следующем: как определить, вызвана ли onDestroy (), скажем, нажатием клавиши Back или частью процесса изменения конфигурации?

после ответа @ CommonsWare это будет довольно просто) что-то вроде:

@Override 
onDestroy() { 
  if (mIsChangeConfig == true) { 
    mIsChangeConfig = false: 
  } else { 
    stopService(); 
  } 
} 

@Override 
onRetainNonConfigurationInstance() { 
  mIsChangeConfig = true; 
}

Ответы на вопрос(3)

Ваш ответ на вопрос