首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VoiceInteractionService API21 startSession误差

VoiceInteractionService API21 startSession误差
EN

Stack Overflow用户
提问于 2015-02-24 16:01:51
回答 1查看 1.1K关注 0票数 1

我正在尝试用最新的API21以及VoiceInteractionService、AlwaysOnHotwordDetector和VoiceInteractionSession编写一个VoiceInteractionService应用程序。

我创建了一个活动

startService(new意图(MainActivity.this,MainInteractionService.class);

MainInteractionService:

代码语言:javascript
运行
复制
public class MainInteractionService extends VoiceInteractionService

@Override
public void onCreate() {
    super.onCreate();
    ctx = getApplicationContext();
    Log.d(TAG, "onCreate!!!!!!!!!! ");
    onReady();
 }

@Override
public void onReady() {
    super.onReady();
    Log.d(TAG, "onReady!!!!!!!!!! " );
    Locale bLocale = new Locale("en", "US");
    //hotwordDetector = createAlwaysOnHotwordDetector("Hello", bLocale, callback);


 @Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Log.d(TAG, "onStartCommand!!!!!!!!!! ");
    //hotwordDetector.startRecognition(hotwordDetector.RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS);
    Bundle args = new Bundle();
    Log.d(TAG, "args: "+args);
    startSession(args);
    stopSelf(startId);

    return START_NOT_STICKY;
}

**当调用onStartCommand时,应用程序崩溃,并出现以下日志猫错误:

呼叫者不是当前的语音交互服务。

有人知道该怎么做吗?我到处搜索,但是关于这个API的信息和例子实在太少了

逻辑猫:

代码语言:javascript
运行
复制
Process: com.test5.simpleapphotword.simpleapphotword, PID: 29450
java.lang.RuntimeException: Unable to start service com.test5.simpleapphotword.simpleapphotword.MainInteractionService@17c3e453 with Intent { cmp=com.test5.simpleapphotword.simpleapphotword/.MainInteractionService }: java.lang.SecurityException: Caller is not the current voice interaction service
        at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2881)
        at android.app.ActivityThread.access$2100(ActivityThread.java:144)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1376)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5221)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
 Caused by: java.lang.SecurityException: Caller is not the current voice interaction service
        at android.os.Parcel.readException(Parcel.java:1540)
        at android.os.Parcel.readException(Parcel.java:1493)
        at com.android.internal.app.IVoiceInteractionManagerService$Stub$Proxy.startSession(IVoiceInteractionManagerService.java:248)
        at android.service.voice.VoiceInteractionService.startSession(VoiceInteractionService.java:143)
        at com.test5.simpleapphotword.simpleapphotword.MainInteractionService.onStartCommand(MainInteractionService.java:78)
        at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2864)    
at android.app.ActivityThread.access$2100(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1376)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)    
EN

Stack Overflow用户

发布于 2016-08-17 16:46:12

您的应用程序必须作为默认的辅助应用程序才能使用VoiceinteractionService。我不喜欢棒棒糖,从Marhsmallow开始,您可以在Settings -> App ->高级->助手中找到菜单。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28700520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档