Google glass 我能';t通过语音从GDK中的用户获取单个字符

Google glass 我能';t通过语音从GDK中的用户获取单个字符,google-glass,google-gdk,Google Glass,Google Gdk,所以我需要从google glass中获取用户的单个字符。这用于输入密码、验证码、拼写用户名等。我已尝试使用示例代码: private static final int SPEECH_REQUEST = 0; private void displaySpeechRecognizer() { Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); startActivityForResult(in

所以我需要从google glass中获取用户的单个字符。这用于输入密码、验证码、拼写用户名等。我已尝试使用示例代码:

private static final int SPEECH_REQUEST = 0;

private void displaySpeechRecognizer() {
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    startActivityForResult(intent, SPEECH_REQUEST);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == SPEECH_REQUEST && resultCode == RESULT_OK) {
        List<String> results = data.getStringArrayListExtra(
            RecognizerIntent.EXTRA_RESULTS);
        String spokenText = results.get(0);
        // Do something with spokenText.
    }
    super.onActivityResult(requestCode, resultCode, data);
}
private static final int SPEECH_REQUEST=0;
私有void displaySpeechRecognizer(){
意向意向=新意向(识别意向、行动、识别言语);
startActivityForResult(意图、言语和请求);
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
if(requestCode==SPEECH\u REQUEST&&resultCode==RESULT\u OK){
列表结果=data.getStringArrayListExtra(
识别者意图。额外结果);
字符串spokenText=results.get(0);
//用spokenText做点什么。
}
super.onActivityResult(请求代码、结果代码、数据);
}

但它似乎总是试图把我说的话解释成文字。对于数字来说,它可以正常工作,但是当尝试拼写字符(如密码)时,我会得到随机结果。

您可以尝试使用该方法并传入一个字母数组,也可以在活动中运行该方法,这样您就可以保持在同一页面上,只需将听到的每个字母添加到视图中,然后继续听,直到听到“finish”或类似的声音

嗯。我不知道让用户大声拼写密码是否是个好主意。通常密码不会显示在屏幕上,因为其他人可能会阅读它。。。大声拼写更糟糕。验证码拼写是我的第一个问题,没有安全问题。只有当人们在听的时候,比如在公共区域,大声说出密码才需要安全。确实,一些基于手势或头部跟踪的机制会更好,比如安卓锁屏模式。CAPTCHA是目前的主要问题,但也可能我想拼写一个要访问的URL。你可以去老派学校,使用拼音字母表。