2012-03-07 4 views
-1

내가 내 서비스 인 텐트 실행하려면 다음 코드를 가지고 :서비스에서 ACTION_VOICE_COMMAND 인 텐트를 시작하려면 어떻게해야합니까?

03-07 20:12:56.796: W/System.err(18401): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VOICE_COMMAND flg=0x10000000 } 
03-07 20:12:56.796: I/ActivityManager(1120): Starting activity: Intent { act=android.intent.action.VOICE_COMMAND flg=0x10000000 } 
03-07 20:12:56.802: W/System.err(18401): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408) 
03-07 20:12:56.802: W/System.err(18401): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 
03-07 20:12:56.802: W/System.err(18401): at android.app.ContextImpl.startActivity(ContextImpl.java:649) 
03-07 20:12:56.802: W/System.err(18401): at android.content.ContextWrapper.startActivity(ContextWrapper.java:258) 
03-07 20:12:56.802: W/System.err(18401): at com.sonrlabs.test.sonr.UserActionHandler.processUserCommand(UserActionHandler.java:153) 
03-07 20:12:56.802: W/System.err(18401): at com.sonrlabs.test.sonr.UserActionHandler.processAction(UserActionHandler.java:72) 
03-07 20:12:56.802: W/System.err(18401): at com.sonrlabs.test.sonr.AudioProcessorQueue.handleAction(AudioProcessorQueue.java:54) 
03-07 20:12:56.802: W/System.err(18401): at com.sonrlabs.test.sonr.AudioProcessorQueue.processAction(AudioProcessorQueue.java:33) 
03-07 20:12:56.802: W/System.err(18401): at com.sonrlabs.test.sonr.signal.SignalConstructor.processSignalIfMatch(SignalConstructor.java:50) 
03-07 20:12:56.802: W/System.err(18401): at com.sonrlabs.test.sonr.signal.TransmissionFinder.processSample(TransmissionFinder.java:29) 
03-07 20:12:56.802: W/System.err(18401): at com.sonrlabs.test.sonr.signal.TransmissionFinder.nextSample(TransmissionFinder.java:23) 
03-07 20:12:56.802: W/System.err(18401): at com.sonrlabs.test.sonr.signal.TransmissionPreprocessor.nextSample(TransmissionPreprocessor.java:38) 
03-07 20:12:56.802: W/System.err(18401): at com.sonrlabs.test.sonr.signal.AudioProcessor.nextSamples(AudioProcessor.java:22) 
03-07 20:12:56.802: W/System.err(18401): at com.sonrlabs.test.sonr.AudioProcessorQueue.run(AudioProcessorQueue.java:82) 

난 그냥 안드로이드를 원하는 : 나는 오류 여기

No Activity Found to Handle Intent 

을 얻을

Intent voiceCommandIntent = new Intent(Intent.ACTION_VOICE_COMMAND); 
      voiceCommandIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      appContext.startActivity(voiceCommandIntent); 

하면 스택 트레이스입니다 음성 명령 프롬프트가 나타납니다. 어떻게해야합니까?

답변

1

당신의 "장치"에 아무도 액션 ACTION_VOICE_COMMAND와 그 의도를 처리 할 수있는 것 같다.

게시 한 코드는 괜찮습니다. 그것은 서비스에서 인 텐트를 시작하는 올바른 방법입니다.

+0

다음은 귀하의 의도에 맞는 리시버가 있는지 확인하는 간단한 방법입니다. http://developer.android.com/resources/articles/can-i-use-this-intent.html – Sparky

+0

내 매니페스트에서 ACTION_VOICE_COMMAND에 대한 필터를 사용 하시겠습니까? –

1

단순히 인 텐트를 브로드 캐스트해야합니다. 시스템은 그것을 잡아서 음성 명령 앱을 시작합니다. 인 텐트 브로드 캐스트 = 새로운 인 텐트(); broadcast.setAction (Intent.ACTION_VOICE_COMMAND); sendBroadcast (브로드 캐스트);

관련 문제