существует метод
stopSelf()
stopSelf(startId)
, который можно использовать для остановки службы изнутри.
РЕДАКТИРОВАТЬ
Я думаю, мне нужно немного отдохнуть.
хорошо, если вы хотите узнать, останавливается ли служба из-за некоторого времени выполненияexecption
Можете ли вы попробовать
private Thread.UncaughtExceptionHandler onRuntimeError= new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread thread, Throwable ex) {
//Try starting the service again
//May be a pending intent might work
};
в вашем на создание
@Override
protected void onCreate() {
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(onRuntimeError);
}