After extensive research, I still can't find a workaround or solution for this issue.
TTS(Text-To-Speech) is causing IllegalArgumentException:Invalid int: "OS" during onInit in some Samsung devices with android api 23.
Code:
public void TTSInit(){ mTextToSpeech = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status != TextToSpeech.ERROR) { Log.i(TAG, "entered ttsinit"); mTextToSpeech.setLanguage(Locale.ENGLISH); } } }); }
Stack Trace:
java.lang.IllegalArgumentException: Invalid int: "OS" at android.os.Parcel.readException(Parcel.java:1624) at android.os.Parcel.readException(Parcel.java:1573) at android.speech.tts.ITextToSpeechService$Stub$Proxy.getVoices(ITextToSpeechService.java:796) at android.speech.tts.TextToSpeech.getVoice(TextToSpeech.java:1769) at android.speech.tts.TextToSpeech.access$1100(TextToSpeech.java:59) at android.speech.tts.TextToSpeech$12.run(TextToSpeech.java:1581) at android.speech.tts.TextToSpeech$12.run(TextToSpeech.java:1531) at android.speech.tts.TextToSpeech$Connection.runAction(TextToSpeech.java:2337) at android.speech.tts.TextToSpeech.runAction(TextToSpeech.java:747) at android.speech.tts.TextToSpeech.runAction(TextToSpeech.java:737) at android.speech.tts.TextToSpeech.setLanguage(TextToSpeech.java:1531) at com.jisoopaullee.myengvocamanager.MainActivity$3.onInit(MainActivity.java:325) at android.speech.tts.TextToSpeech.dispatchOnInit(TextToSpeech.java:820) at android.speech.tts.TextToSpeech.access$1900(TextToSpeech.java:59) at android.speech.tts.TextToSpeech$Connection$SetupConnectionAsyncTask.onPostExecute(TextToSpeech.java:2251) at android.speech.tts.TextToSpeech$Connection$SetupConnectionAsyncTask.onPostExecute(TextToSpeech.java:2206) at android.os.AsyncTask.finish(AsyncTask.java:651) at android.os.AsyncTask.access$500(AsyncTask.java:180) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7225) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Thanks.