Un paio di giorni fa, ho ricevuto un registro di arresto anomalo sulla mia app rilasciata.Arresto di ToneGenerator Android
L'errore proviene da ToneGenerator e non riesco a trovare il problema.
Qui, ho un conto alla rovescia, quando il timer raggiunge 0, l'app lancia un ToneGenerator.
private void lanceMinuteur(int temps, int color){
if(color == 0)
minuteur.setTextColor(getResources().getColor(R.color.color_important));
else
minuteur.setTextColor(getResources().getColor(R.color.color_informative));
if(chronoLance){
chrono.cancel();
}
chronoLance = true;
chrono = new CountDownTimer((temps + 1) * 1000, 1000) {
public void onTick(long millisUntilFinished) {
minuteur.setText(String.valueOf(millisUntilFinished/1000) + "\"");
}
public void onFinish() {
minuteur.setText("0\"");
minuteur.setTextColor(getResources().getColor(R.color.textcolor1design));
chronoLance = false;
final ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_NOTIFICATION, 100); //The error is coming from here
tg.startTone(ToneGenerator.TONE_PROP_ACK);
}
}.start();
}
E il crollo di registro che ho ricevuto:
java.lang.RuntimeException: Init failed
at android.media.ToneGenerator.native_setup(Native Method)
at android.media.ToneGenerator.<init>(ToneGenerator.java:798)
at ma.myperf.musculation.activ.GoPerformanceActivity$2.onFinish(GoPerformanceActivity.java:350)
at android.os.CountDownTimer$1.handleMessage(CountDownTimer.java:118)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4385)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
at dalvik.system.NativeStart.main(Native Method)
Così che cosa può essere il problema? Ho chiesto se il ToneGenerator ha provato un blocco Catch, ma non c'era.
Sto pensando che forse il dispositivo in cui si è verificato l'arresto non avesse un AudioManager.Stream_Notification?
stesso problema qui :(http://stackoverflow.com/questions/13463691/error-generating-beep-using-tonegenerator-class –
qual è il codice in 'GoPerformanceActivity.java', linea 350? – dumbfingers
la linea 350 è questa riga finale ToneGenerator tg = new ToneGenerator (AudioManager.STREAM_NOTIFICATION, 100); E 'dove ho inserito "// L'errore sta venendo da qui" – FR073N