我是android新手。任何人都可以帮我满足以下要求;在当前活动的演讲结束后调用活动。
在activity1完成后读取activity2的文本,但在activity1文本完成之前启动activity2。在这个话语中,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);
}
}
答案 0 :(得分:0)
您的代码订单错误:在致电put
之前,您需要HashMap
进入speak
。试试这个:
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);