簡體   English   中英

如何從服務啟動ACTION_VOICE_COMMAND Intent?

[英]How can I launch an ACTION_VOICE_COMMAND Intent from a Service?

我有以下代碼在我的服務中啟動Intent:

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

我得到了錯誤

No Activity Found to Handle Intent

這是堆棧跟蹤:

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)

我只希望顯示Android語音命令提示符。 我怎樣才能做到這一點?

您應該只廣播意圖。 然后系統抓取它並啟動“語音”命令應用程序。 意圖廣播= new Intent(); broadcast.setAction(Intent.ACTION_VOICE_COMMAND); sendBroadcast(廣播);

您的“設備”中似乎沒有人能夠使用Action ACTION_VOICE_COMMAND處理該Intent。

您發布的代碼還可以。 這是從服務啟動Intent的正確方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM