우편번호 어플 ZipCode(Kr) 에 사용된 음성인식 방법
//음성 버튼을 클릭했을 때 불러오는 메소드
private void startVoiceRecognitionActivity() {
try{
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "찾고자 하는 동/건물명을 말하세요.");
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
}catch(Exception e){
Toast.makeText(context,"음성 인식 어플리케이션이 없거나\n기능을 사용할 수 없습니다.",Toast.LENGTH_SHORT).show();
}
}
//음성인식 후 결과를 가져올 오버라이드 메소드
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {
ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
String result = matches.toString();//결과값을 가져온다.
result = result.substring(1, result.length()-1); //결과값 앞뒤에 [ ] 붙는거 제거
et_dongname.setText(result); //결과값을 출력한다.
}
super.onActivityResult(requestCode, resultCode, data);
}
'Android' 카테고리의 다른 글
#Android 파일 다운로드 (0) | 2012.01.18 |
---|---|
개발노트 - Android SDK 2.3 업데이트 이후 나인패치 실행 문제... (2) | 2010.12.07 |
마켓 - 우편번호 검색기[ZipCode(kr)] (1) | 2010.04.10 |
TableLayout 동적 rows 추가 할 때 발생할 수 있는 문제 (2) | 2010.03.17 |
이클립스 오버라이드된 메소드 자동생성 방법 (0) | 2010.01.20 |