搜索
 找回密码
 立即注册

简单一步 , 微信登陆

【MStar Andriod方案】【智能接口】

作者:jayden | 时间:2016-9-21 16:50:56 | 阅读:6343| 只看该作者
1.JB发送:
TvManager.getInstance().setTvosCommonCommand("字符串");
2.SN接收:
U16* MSrv_Control_common::SetTvosCommonCommand(c**t char* pCharCommand, int* u8length)
3.SN->JB:
BOOL MSrv_Control_common::SetTvosInterfaceCMD(c**t char* pCharCommand)
果SUPERNOVA需要向UI请求显示一些信息,需要通过发消息的形式,举例说明:
有信号到无信号时候,显示NOSIGNAL过程,如下:
在函数Msrv_Control_TV:noSignalCheck_Handle中,检测到无信号的时候,会执行语句
Postenvt(0,EV_SIGNAL_UNLOCK,0),此消息UI会接受到而显示出无信号的菜单,我们对此只需要结果,中间怎么发消息,UI层为什么能得到消息,我们不用关心。

Supernova与UI层的连接我们只关心结果,如何实现的我们不用知道,既中间层,MSTAR也做了打包处理,这样我们就无法连接不在SERVER定义的函数,如果UI层需要调用中间层没有定义的函数,我们可以通过万能接口通过传递字符串的形式来实现,举例如下:

UI层调用语句:
try{
    sourcestatus = TvManager.setTvosCommonCommand("SetAutoSleepOffStatus");字符串可以任意填写
}
catch (TvCommonException e) {
    e.printStackTrace();
}
字符串可以任意填写,这样SUPERNOVA里面定义的函数
MSrv_Control_DVB:setTvosCommonCommand就会响应,程序如下填写:
MSrv_Control_common.cpp
U16* MSrv_Control_common::SetTvosCommonCommand(c**t char* pCharCommand, int* u8length)
#define TVOS_COMMON_CMD_SET_AUTOSLEEP0FF_STATUS  "SetAutoSleepOffStatus"
Else if((pCharCommand) && (strncmp(pCharCommand, TVOS_COMMON_CMD_SET_AUTOSLEEP0FF_STATUS, strlen(pCharCommand)) == 0))
{  写入要执行SUPERNOVA里面的任意函数都可以调用了
     }
  注意字符串,两边要保持一致。

收藏
收藏0
分享
分享
点赞
点赞0
反对
反对0
回复

使用道具 举报

大神点评3

沙发#
Jack.Lin 发表于:2016-9-22 16:32:02
比JNI简单实用。
该会员没有填写今日想说内容.
回复 支持 反对

使用道具 举报

板凳#
Robby.zou 发表于:2016-9-28 11:10:37
该会员没有填写今日想说内容.
回复

使用道具 举报

地板#
creass 发表于:2016-9-28 11:56:05
JB全称是啥?
hahaahhahaha!!123
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
手机版