Android 2.2でRecognizerIntent APIを使用する際に問題が発生しています。私はこのコードを使用してAPIを呼び出すとき:RecognizerIntentが機能しません。 "missing call_package"
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のページでは、この追加があると述べています。通常は開発者 によって使用されることはありません。システム検索ダイアログ は、例えば、 音声検索APIによって識別するために 呼び出しパッケージを設定するためにこれを使用します。この余分が がシステムプロセス以外の誰かによって設定されている場合は、 検索実装によって無効にされます。
私が言うことができる限り、私はこの余分をオーバーライドする必要はありません。なぜこのエラーが発生するのですか?コードを修正するにはどうすればよいですか?
"システムプロセス以外の誰でも" - あなた自身ではなく、独自の実装が必要なシステムプロセスですか? – zproxy
どこからstartActivityForResult()を呼び出していますか?また、どのデバイスでこの問題が発生していますか?最後に、Google Voiceの認識設定は何ですか? –