Wie kann die Benachrichtigung nur während der Sprachausgabe beibehalten werden?So schließen Sie die Benachrichtigung, nachdem die Sprachausgabe beendet wurde
Hauptaktivität:
TextToSpeech tts;
...
public void notification() {
NotificationCompat.Builder notification =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_volume_up_white_36dp)
.setOngoing(true)
NotificationManager NotifyMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotifyMgr.notify(1, notification.build());
}
...
public void speak() {
tts=new TextToSpeech(getApplicationContext(),new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
notification(); //Call Notification
tts.setLanguage(Locale.US);
tts.speak("message", TextToSpeech.QUEUE_FLUSH, null);
}
});
}
Was Mitteilung zur Umsetzung benötigt wird Aktion abbrechen und wo sie eingegeben werden sollten
NotifyMgr.cancel(1);
Ich bekomme Unbekannte Methode 'isSpeaking' – Mssjim
Funktioniert mit (! Tts.isSpeaking). – Mssjim
Großartig. isSpeaking ist eine boolesche Methode der TextToSpeech-Klasse. Die Methode gibt true zurück, wenn die TTS-Engine spricht. und dieser Server deine Anforderung, denke ich. – iDevRoids