示例应用程序(步骤):
- 没有 EditText 控件的 Android 应用程序。
- 该应用程序有一个包含文本视图的活动。
- 在Activity的onCreate()方法中,启动应用时带上虚拟键盘即SoftKeyBoard。
- 按下虚拟键盘的麦克风(语音输入)按钮。
- 说“你好吗”。
语音输入的结果:
Android 应用程序在三个迭代中接收上述口语单词,例如
“How”
“are”
“How are you”
这是不正确的。如果你看到了,“如何”和“是”这两个词在第三次迭代中重复出现。
预期结果:
应用程序应该在三个迭代中接收口语单词,例如
“How”
“are”
“you”
这是示例应用程序代码:
公共类 TestSpeechToText 扩展 Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_url);
/* Default display keyboard */
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_test_url, menu);
return true;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return true;
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return true;
}
@Override
public boolean onKeyMultiple(int keyCode, int count, KeyEvent event) {
String text = event.getCharacters();
Log.d("Testing", "Text is " + event.toString());
return true;
}
}
在这种情况下,重写方法 onKeyMultiple() 被调用三次,文本为“How”、“are”和“How are you”
注意:
1.没有EditText控件
2.xml布局只包含一个Text View
有人知道这个问题吗?如果是,如何解决?