У меня есть класс BroadcastReceiver, который получает входящие звонки. Как только мои телефоны получат входящий звонок, я хотел бы запустить Voice Recognizer. Не будет интерфейса для вызова RecognizerIntent. Just RecognizerIntent следует вызывать автоматически, когда телефон звонит. Это возможно?Диалог распознавания голоса во время вызова телефона
Буду признателен, если кто-нибудь поделится кодом для этого.
Sravan
Вот что я пытаюсь сделать. Но его не выталкивает распознаватель голоса.
package srv.phone.calls;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.Toast;
public class ServiceReceiver extends BroadcastReceiver {
MediaPlayer mediaPlay;
Toast toast;
private int REQUEST_CODE = 1234;
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
String state = extras.getString(TelephonyManager.EXTRA_STATE);
Log.w("DEBUG", state);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
String phoneNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
Log.w("DEBUG", phoneNumber);
// mediaPlay = MediaPlayer.create(context, R.raw.sweet);
// mediaPlay.start();
toast = Toast.makeText(context, "Call from " + phoneNumber, Toast.LENGTH_LONG);
toast.show();
Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i.putExtra(RecognizerIntent.EXTRA_PROMPT, "Voice recognition Demo...");
context.startActivity(i); //Not working
}
}
}
}
Что вы пробовали? Что работает, а что нет? У вас есть код, который вы хотели бы поделиться? – gobernador
Привет, я добавил код. – Sravan
Определите «Не работает» в контексте этой конкретной строки. Вы получаете сообщения об ошибках? Кроме того, я бы использовал 'Log.d()' вместо 'Log.w()' в этом случае. Сохраните WARN за то, что плохо. – gobernador