안녕하세요

지금 알람설정하고 그 시간이 되면 TTS가 서비스로 작동되는 걸 구현하고 있습니다.

메인 액티비티에서 알람 설정하는거 짜놓고

AlarmReceiver.java 라고 BroadcastReceiver extend 해주고

public class AlarmReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {
context.startService(new Intent(context, TTS.class));
}
}

---------------------------------------------------------------------

TTS.java 파일을 만들어서 service로 만들었습니다.

public class TTS extends Service implements TextToSpeech.OnInitListener {
private TextToSpeech mTts;
@Override
public IBinder onBind(Intent arg0) {
    return null;
}

@Override
public void onCreate() {
super.onCreate();
}


@Override
public void onDestroy() {
    if (mTts != null) {
        mTts.stop();
        mTts.shutdown();
    }
    super.onDestroy();
}
@Override
public void onStart(Intent intent, int startId) {
mTts = new TextToSpeech(this, this);
speakOut();
}
@Override
public void onInit(int status) {
    if (status == TextToSpeech.SUCCESS) 
    {
        int result = mTts.setLanguage(Locale.US);
        if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) 
        {
            Log.e("TTS", "This Language is not supported");
        } 
        speakOut();
    }
    else 
    {
        Log.e("TTS", "Initilization Failed!");
    }
    }
private void speakOut() {
mTts.speak("its working", TextToSpeech.QUEUE_FLUSH, null);

}

}


이렇게 해서 시간 설정하고 설정한 시간이 되면 its working이라고 백그라운드에서 말해주거든요.
근데 문제가 LogCat을 보면
speak failed: not bound to TTS engine이라고 뜹니다.

그리고 가끔 자기 맘대로 랜덤하게 its working이라고 목소리가 나오네요 분명히 onDestroy가 있는데 말이죠...ㅠㅠ

문제가 뭔지 알려주시면 정말 감사하겠습니다.