2011-10-23 2 views
2

SpeechRecognizer.ACTION_GET_SUPPORTED_LANGUAGES를 사용하여 지원되는 언어를 쿼리하는 데 문제가 있습니다.BroadcastReceiver 인 텐트를 사용하여 SpeechRecognizer에 대해 지원되는 언어 쿼리

private void queryLanguages() { 
    Intent i = new Intent(RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS); 
    sendOrderedBroadcast(i, null); 
} 

지금, 나는 그것이 브로드 캐스트 리시버가 RecognizerIntent.DETAILS_META_DATA에 지정된라고 알고 있지만, 나는 그 액세스 할 수있는 방법에 관해서는 확실하지 않다.

기본적으로 내가 묻는 것은 사용 가능한 언어 데이터를 검색하기위한 의도를 어떻게 만듭니 까?

답변

2

이 그것을 수행하는 방법이다 :

Intent intent = new Intent(RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS); 
    context.sendOrderedBroadcast(intent, null, new HintReceiver(), 
        null, Activity.RESULT_OK, null, null); 

private static class HintReceiver extends BroadcastReceiver { 
      @Override 
      public void onReceive(Context context, Intent intent) { 
       if (DBG) 
        Log.d(TAG, "onReceive(" + intent.toUri(0) + ")"); 
       if (getResultCode() != Activity.RESULT_OK) { 
        return; 
       } 
       // the list of supported languages. 
       ArrayList<CharSequence> hints = getResultExtras(true) 
         .getCharSequenceArrayList(
           RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES); 

     } 
    } 

: 이러한 여부

실제로 제공되는이

+0

내가 감사 특정 구현에 달려있다 코드! 돼지 - 라틴어도 지금은 더 많은 언어가있는 것 같습니다! LOL – fenderrocker

관련 문제