2.3.5 Robot的处理流程

## 2.3.5 Robot的处理流程 * MainService的 ~~~ public int onStartCommand(Intent intent, int flags, int startId) ~~~ * 接收到SEND_MSG或者SEND_VOICE_MSG后,提取Intent中的文本,或者从语音识别结果 onRecognizeResult(String)中获得输入文本,然后调用: ~~~ public void sendMessageToRobot(String text, int type) ~~~ * 方法处理文本输入,灵聚智能引擎(robot)处理完毕后,会回调 ~~~ /** * 灵聚智能引擎应答输出回调 * @param text 输出文本 * @param type 输入类型,0=文本输入,1=语音输入 */ protected void onRobotResponse(String text,Command cmd,int type){…} ~~~ * 该方法会将robot返回的指令返回至方法中,开发者需在这些回调方法中解析并执行应答指令,指令说明详见3.6节(或者api的Command类说明),指令解析并执行完成后可通过EventBuspost到前端Activity,在Activity中可以这样接收: ~~~ public void onEventMainThread(RobotResponseEvent e){ if(TextUtils.isEmpty(e.getText()))return; history.add(new Msg(e.getText(), Msg.OUTPUT_TYPE)); adater.notifyDataSetChanged(); recyclerView.scrollToPosition(history.size() - 1); } ~~~   详见Demo中的MainCommonActivity;