Es sencillo y directo de usar:
private void startVoiceRecognitionActivity() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
//uses free form text input
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
//Puts a customized message to the prompt
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
getString(R.string.listenprompt));
startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
}
/**
* Handles the results from the recognition activity.
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {
// Fill the list view with the strings the recognizer thought it could have heard
ArrayList<String> matches = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
//Turn on or off bluetooth here
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
y luego llamar al startVoiceRecognitionActivity()
desde dentro de su código donde sea que lo necesite. Por supuesto, tendrá que tener la permssion para acceder a Internet
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
en su Android.manifest.
Lo siento querido responder tan tarde porque ahora lo he usado. Funciona muy bien. –
Obtengo el Arraylist de posible valor de texto, pero cómo puedo activar/desactivar el bluetooth. –
Esa es una pregunta diferente, pero [lmgtfy] (http://goo.gl/aB3be). – keyboardsurfer