2012-03-19 4 views
3

검색 중에 일부 데이터를 검색 관리자에게 넘길 수 있습니다. using the APP_DATA bundle.이 메커니즘은 정상적인 검색에는 유용하지만 음성 검색에 대해 동일한 작업을 수행하고 목소리를 낼 때 컨텍스트 정보를 어떻게 얻을 수 있습니까? 검색 결과가 나타 납니까?컨텍스트를 음성 검색에 전달

답변

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 자신의 롤 또는 음성 데이터 모양 된 검색 번들로부터 속성을 검색하려고 시도하지 않는 한 는 이러한 시설을 제공하지 않습니다 나타납니다. 후자의 경우는 문서화되지 않았으므로 적어도 분명히 지원되지 않습니다.

+0

죄송하지만 음성 검색을 구현하는 방법을 설명합니다. 사실 내가 원하는 것은 검색에 일부 데이터를 전달하고 다시 가져 오는 것입니다. 검색 (같은 검색 위젯 공유)을 사용하여 2 가지 활동이 있다고 상상해보십시오. 음성 검색에 컨텍스트 데이터를 전달하고 2 명의 발신자 활동을 구별하는 방법은 무엇입니까? – Snicolas

+0

@Snicolas 아! 따라서 올바르게 이해하면 누군가가 동일한 위젯에서 음성 검색과 직접 입력을 사용할 때 구분할 데이터를 찾고 있습니다. 기본적으로 UI를 가져오고 있기 때문에 안드로이드는 아무런 문맥을 제공하지 않는다. 따라서, 번들에 사용할 수있는 것이 아무것도 없다면, 당신은 [RecognizerIntent'] (http://developer.android.com/reference/android/speech/RecognizerIntent.html)를 직접 만들어야합니다. 나는 문서에서 관련있는 것을 찾을 수 없다. – MrGomez

+0

정확하지 않습니다. 문서에 거의 아무것도 나와 있지 않지만 음성 검색과 일반 검색 (언어와 같은 쿼리 인 텐트 번들의 일부 속성보기 등)을 구분할 수 있습니다. 나는 그것을 찾고 있지는 않지만 동일한 앱에서 음성 검색의 두 가지 별개의 용도를 구분하는 방법 2입니다. 검색이 돌아 왔을 때 여기에서 또는 여기에서 호출되었는지 말할 수 있어야합니다. – Snicolas

관련 문제