Android 在安卓文语转换应用程序的当前活动中,在文本发言后调用活动

Android 在安卓文语转换应用程序的当前活动中,在文本发言后调用活动,android,text-to-speech,Android,Text To Speech,我是android新手。有人能帮我满足以下要求吗;在当前活动的演讲结束后调用活动 activity2的文本在activity1完成后读取,但activity2在activity1文本完成前启动。在这个话语中,id也没有被识别 我写的代码如下。任何帮助都将不胜感激。谢谢 public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { String text= tt.getText

我是android新手。有人能帮我满足以下要求吗;在当前活动的演讲结束后调用活动

activity2的文本在activity1完成后读取,但activity2在activity1文本完成前启动。在这个话语中,id也没有被识别

我写的代码如下。任何帮助都将不胜感激。谢谢

 public void onInit(int status) {       
    if (status == TextToSpeech.SUCCESS) {

        String text= tt.getText().toString();
        if (text!=null && text.length()>0) {
     Toast.makeText(activity1.this, "Speaking: " + text, Toast.LENGTH_LONG).show();

     tts.setOnUtteranceCompletedListener(this);
     HashMap<String, String> myHash = new HashMap();

     tts.speak(text, TextToSpeech.QUEUE_ADD, myHash);
     myHash.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID,
    "completed");

     } 
    else if (status == TextToSpeech.ERROR) {
        Toast.makeText(Fossils.this,
                "Error occurred while initializing Text-To-Speech engine", Toast.LENGTH_LONG).show();
    }

    }

}
public void onUtteranceCompleted(String t) {

    if(t == "completed"){
  Intent i = new Intent(this, activity2.class);
    startActivity(i);
    }
 }   
public void onInit(int状态){
if(status==TextToSpeech.SUCCESS){
String text=tt.getText().toString();
if(text!=null&&text.length()>0){
Toast.makeText(activity1.this,“说话:+text,Toast.LENGTH_LONG).show();
tts.setOnPatternanceCompletedListener(此);
HashMap myHash=新HashMap();
tts.speak(text,TextToSpeech.QUEUE\u ADD,myHash);
myHash.put(TextToSpeech.Engine.KEY\u PARAM\u outrance\u ID,
“已完成”);
} 
else if(状态==TextToSpeech.ERROR){
Toast.makeText(化石,这个,
“初始化文本到语音引擎时出错”,Toast.LENGTH_LONG.show();
}
}
}
已完成公用void onutternance(字符串t){
如果(t==“已完成”){
意向i=新意向(此,activity2.class);
星触觉(i);
}
}   

您的代码顺序错误:在调用
speak
之前,您需要将
放入
HashMap
。试试这个:

tts.setOnUtteranceCompletedListener(this);
HashMap<String, String> myHash = new HashMap();
myHash.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "completed");
tts.speak(text, TextToSpeech.QUEUE_ADD, myHash);
tts.setOnPatternanceCompletedListener(此);
HashMap myHash=新HashMap();
myHash.put(TextToSpeech.Engine.KEY\u PARAM\u outrance\u ID,“已完成”);
tts.speak(text,TextToSpeech.QUEUE\u ADD,myHash);

我也尝试过这种方法,但它没有将activity1更改为activity2。我是否需要在ONUTERANCECOMPLETED(字符串t)中进行任何更改?