gpt4 book ai didi

android - 语音识别器 Intent 未取回 OnActivityResult 中的数据

转载 作者:行者123 更新时间:2023-11-29 15:26:31 25 4
gpt4 key购买 nike

我有一个点击按钮的语音识别器 Intent。

voiceSearch.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View view) {
try{
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak Now...");
startActivityForResult(intent, REQUEST_CODE);
}
catch (ActivityNotFoundException e) {
Log.v("Speech", "Could not find any Speech Recognition Actions");
}

}
});

在 Activity 结果中,我的代码为

     @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
System.out.println("Request code++++++++++++++++++++++++++++"+requestCode);
System.out.println("Result Code+++++++++++++++++++++++++++++"+resultCode);
System.out.println("Data++++++++++++++++++++++++++++++++++++"+data);
System.out.println("Language"+data.getStringExtra(RecognizerIntent.EXTRA_LANGUAGE));
System.out.println("data.getDataString()"+data.getDataString());
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
if (data != null && data.getData() != null) {
String searchKey = data.getData().toString();
System.out.println("Search Key++++++++++++++++++++++++"+searchKey);
searchEditText.setText(searchKey);
webView.loadUrl(url+"searchKey");

}
}
}

我在 onActivityResult 中打印时得到的输出是

我得到的请求代码为1

我得到的结果代码为 -1

我得到的数据是 Intent {(有额外的)}

语言 data.getStringExtra(RecognizerIntent.EXTRA_LANGUAGE)null

Data.getDataString()null

任何人都可以让我知道我在代码中可能犯了什么错误。

谢谢。

最佳答案

我认为您试图以错误的方式获得结果。它们不存储在数据字符串中,而是存储在匹配数组中。

您可以通过以下方式获取数组:

ArrayList<String> matches = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);

数组中的每个条目都是一个多词字符串,表示识别器对用户所说内容的猜测。

关于android - 语音识别器 Intent 未取回 OnActivityResult 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12120044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com