- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 Android 2.2 上使用 RecognizerIntent API 时遇到问题。当我使用此代码调用 API 时:
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);
startActivityForResult(intent, REQUEST_CODE_VOICE_SEARCH);
看起来应该可以,搜索弹出窗口在设备上显示“未知问题”,并在日志中显示:
01-17 14:25:30.433: ERROR/RecognitionActivity(9118): ACTION_RECOGNIZE_SPEECH intent called incorrectly. Maybe you called startActivity, but you should have called startActivityForResult (or otherwise included a pending intent).
01-17 14:25:30.433: INFO/RecognitionControllerImpl(9118): startRecognition(#Intent;action=android.speech.action.RECOGNIZE_SPEECH;launchFlags=0x800000;component=com.google.android.voicesearch/.IntentApiActivity;B.fullRecognitionResultsRequest=true;S.android.speech.extra.LANGUAGE_MODEL=free_form;end)
01-17 14:25:30.433: INFO/RecognitionControllerImpl(9118): State change: STARTING -> STARTING
01-17 14:25:30.443: ERROR/RecognitionControllerImpl(9118): required extra 'calling_package' missing in voice search intent
01-17 14:25:30.443: ERROR/RecognitionControllerImpl(9118): ERROR_CLIENT
01-17 14:25:30.443: ERROR/RecognitionControllerImpl(9118): ERROR_CLIENT
看起来问题是缺少额外的“calling_package”;在 RecognizerIntent 页面上,它指出这个额外的是:
The extra key used in an intent to the speech recognizer for voice search. Not generally to be used by developers. The system search dialog uses this, for example, to set a calling package for identification by a voice search API. If this extra is set by anyone but the system process, it should be overridden by the voice search implementation.
据我所知,我不需要覆盖这个额外的东西,那么为什么我会收到这个错误?如何修复我的代码?
最佳答案
我遇到了完全相同的问题。我正在处理在我正在处理的 Activity 中具有 android:launchMode="singleInstance"的现有代码。这不适用于语音识别器 Intent 。我将其更改为 android:launchMode="standard"。现在让我们看看它如何破坏我程序的其余部分:)
关于android - RecognizerIntent 不工作; "missing extra calling_package",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4718643/
我正在尝试让 RecognizerIntent 遵循我设置为收听的自定义语言,但它不起作用。看起来它只是不使用我发送的参数,只考虑系统设置(如果我更改系统的语音搜索设置,它确实有效)。 这就是我创建
我正在开发一项 Android 服务。我需要从服务调用 RecognizerIntent 以便在服务中使用已识别的文本。我在 Service 类中没有 startActivityForResult()
是否可以让 RecognizerIntent 或任何其他在 android 中使用语音识别的方式来检测您正在说的语言,并以该语言发送结果。比如,如果我说一个罗马尼亚语词,检测到它是罗马尼亚语,然后把那
我正在尝试构建可以帮助我像 Google 语音搜索一样调用联系人的应用程序,但是通过 RecognizerIntent 使用 Google 语音使用捷克语。 怎么了,它好像没有浏览我的联系人列表。 假
如果 RecognizerIntent 由于用户未说话而结束,如何处理图像 (ImageView) 的可见性 if (RecognizerIntent.EXTRA_RESULTS == null){
我正在尝试运行我在官方 android 开发者页面中找到的以下识别器 Intent 示例: http://developer.android.com/resources/samples/ApiDemo
我用这段代码启动 RecognizerIntent: Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); int
我写了这段代码: Intent voiceSearchIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); voiceSearc
语音识别: 我使用此代码来检测: Intent myintent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); myi
我正在研究 android.speech 包是如何工作的,我注意到语音识别器忽略了 Intent RecognizerIntent.ACTION_WEB_SEARCH 中使用的大部分额外内容。 如果我
我的应用程序使用 RecognizerIntent 来记录用户的声音并进行一些语音识别。 现在,我想将结果与一些开源语音识别引擎进行比较。他们中的大多数将音频文件作为输入。我的想法是,从 Androi
我正在 android 模拟器上尝试语音识别功能,但是当我尝试在我的模拟器上使用 2.1 启动识别器 Intent 时,没有 Activity 存在。为什么它不是开箱即用的?正常吗?是否可以安装支持?
在我的主要 Activity 中,我启动了一个新的 Intent: Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEEC
在大多数 Android 设备中,RecognitionService将由 Google 的原生“Now/Assistant”应用程序提供。 在 Android Oreo 之前,我可以使用以下简单代码
我正在使用 RecognizerIntent 开发 Android 语音识别应用。客户端关心的是设备和谷歌语音识别服务器之间传输的数据以及是否可以拦截。 我发现关于什么格式以及如何来回发送数据的文档很
我使用以下代码在 Android 中启动语音识别: PackageManager pm = getPackageManager(); List activities = pm.queryIntentA
我在 Android 2.2 上使用 RecognizerIntent API 时遇到问题。当我使用此代码调用 API 时: Intent intent = new Intent(Recognizer
我正在使用 android 应用程序 RecognizerIntent.ACTION_RECOGNIZE_SPEECH,,, 我的问题是我不知道如何 创建将捕获用户输入的语音的缓冲区。一世 阅读了很多
我正在尝试在 Samsung Galaxy S 手机上使用语音识别(因为我知道 emu 没有这个 Intent )。 Galaxy S 有一个 2.1 Android ROM。出于某种原因,我了解到设
我安装了开源Kõnele ( source code ) 的目的是研究如何编写和注册自定义语音识别服务。作为第一步,在深入研究源代码之前,我尝试验证它确实按我预期的那样工作。所以,我转到手机的系统设置
我是一名优秀的程序员,十分优秀!