電話に電話がかかってきたときに、ユーザーの音声コマンドに従って自動的に通話に参加または終了するアプリケーションを作成しようとしています。ここで、私が試したことを示します。startVoiceRecognitionActivity() メソッドで、Activity not found exception:no activity found to handle intent のようなエラーが発生します。
public void startVoiceRecognitionActivity()
{
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Voice recognition Demo...");
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK)
{
String spch = data.getStringExtra(RecognizerIntent.EXTRA_RESULTS);
if (spch.contains("Yes"))
{
enableSpeakerPhone(this);
Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON);
KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_HEADSETHOOK);
i.putExtra(Intent.EXTRA_KEY_EVENT, event );
this.sendOrderedBroadcast(i, null);
}
else if(spch.contains("No"))
{
Intent buttonUp = new Intent(Intent.ACTION_MEDIA_BUTTON);
buttonUp.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_HEADSETHOOK));
this.sendOrderedBroadcast(buttonUp, "android.permission.CALL_PRIVILEGED");
}
}
super.onActivityResult(requestCode, resultCode, data);
}
誰でも問題を見つけるのを手伝ってもらえますか...