2012-03-19 13 views

答えて

2

私が理解していることから、それは同じメカニズムを経ます。バックエンドで通常のonSearchRequestedオーバーライドを作成し、ダイアログまたはウィジェットに音声検索機能as described hereで注釈を付けるだけです。彼らの例を使用して

、このようなものは、あなたのフロントエンドに入る必要があります。

<?xml version="1.0" encoding="utf-8"?> 
<searchable xmlns:android="http://schemas.android.com/apk/res/android" 
    android:label="@string/search_label" 
    android:hint="@string/search_hint" 
    android:voiceSearchMode="showVoiceSearchButton|launchRecognizer" > 
</searchable> 

音声検索が要求されると、そのデータはあなたが操作することができるように、あなたのonSearchRequestedコールバックに検索機構を介してとに渡されます。データは必要に応じて


編集:音声検索は、標準的なテキスト入力が呼び出されたとき、対検索ウィジェットで使用されたときにここで扱われている実際の問題は分化にしました。

残念ながら、あなたがあなた自身のRecognizerをロールや音声データのような形をしている検索バンドルからプロパティを取得しようとしない限り、Googleはは、これらの施設のために提供されていません表示されます。後者のケースは文書化されておらず、少なくとも明らかにサポートされていません。

+0

申し訳ありませんが、音声検索を実装する方法について説明します。実際に私が望むのは、検索にいくつかのデータを渡して戻すことです。同じ検索ウィジェットを共有する検索を使って2つのアクティビティがあるとしたら、音声検索にコンテキストデータを渡して2つの呼び出し元のアクティビティを区別する方法はありますか? – Snicolas

+0

@Snicolasああ!したがって、私が正しく理解すれば、同じウィジェットで誰かが音声検索と直接入力を使用するときに区別するためのデータを探しています。基本的にはUIシムを取得しているので、ここでは何も文脈を提供しないようになっています。したがって、あなたの 'Bundle'に何も使えない場合、あなたは' RecognizerIntent'(http://developer.android.com/reference/android/speech/RecognizerIntent.html)を直接作るしかありません。私はドキュメントに関連するものは何も見つかりません。 – MrGomez

+0

正確ではありません。ドキュメントにはほとんど何も書かれていませんが、音声検索と通常の検索(言語などのようにクエリインテントのバンドル内のいくつかのプロパティを見て)を区別することは可能です。私はそれを探しているわけではないが、同じアプリで音声検索の2つの異なる使い方を区別する方法2のために。私が欲しいのは、検索がここからまたはそこから呼び出されたかどうかを言うことができるときに戻ります。 – Snicolas

関連する問題