ISHELL_SendURL()函数的问题?

malu_1982 2008-12-26 09:33:59
ISHELL_SendURL(pIShell, pURL)

请教这个函数的具体用法。

最关键就是不明白这个函数的第二个参数pURL代表什么?

或者ISHELL_GetHandler(pShell,AEECLSID_APP,szURLs)这个函数的最后一个参数代表什么?

一般情况下pURL = "tel:AnswerCall" 大概是这个样子

不明白调用ISHELL_GetHandler(pShell,AEECLSID_APP, "tel:") 之后

返回的到底是哪个app?
...全文
1254 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
tel 应该是call应用 mif文件中的 MIME type, AnswerCall是消息标识,EVT_APP_POST_URL发送到call应用中去了

发现心流 2009-01-03
  • 打赏
  • 举报
回复
ISHELL_SendURL( pMe->a.m_pIShell, tel:AnswerCall)

我觉得应该是启动 tel这个应用的界面吧
tel 应该是call应用 mif文件中的 name 属性, AnswerCall是要处理的消息
malu_1982 2009-01-01
  • 打赏
  • 举报
回复
自己顶
malu_1982 2008-12-31
  • 打赏
  • 举报
回复

static void BTApp_AnswerCall( CBTApp* pMe, BTAppCallType callIncoming )
{
boolean bAnswered = FALSE;
static const char szAnswer[] = "tel:AnswerCall";
AEERect rect = {70, 70, 70, 70};
IDisplay_EraseRect(pMe->a.m_pIDisplay, &rect);

MSG_LOW( "AnswerCall - dev=%d c=%d st=%d",
pMe->mAG.devType, callIncoming, pMe->mAG.callState );

pMe->mAG.bDevPickedUp = TRUE;
BTApp_StopRing( pMe );

if ( callIncoming == BT_APP_CALL_NONE )
{
MSG_ERROR( "AnswerCall - no incoming call", 0, 0, 0 );
}
else if ( BTApp_ConnectAudio( pMe, TRUE ) != FALSE )
{
if ( callIncoming == BT_APP_CALL_VOICE )
{
if ( pMe->mAG.pIncomingCall != NULL )
{
if ( ISHELL_SendURL( pMe->a.m_pIShell, szAnswer ) == TRUE ) //该行的功能???????、
{
DBGPRINTF_FATAL("BTAPP: Ansering call by sending URL %s", szAnswer );
bAnswered = TRUE;
}
else if ( ICALL_Answer( pMe->mAG.pIncomingCall ) == SUCCESS )
{
MSG_LOW("BTApp: URL answer failed. Used ICALL_Answer",0,0,0);
bAnswered = TRUE;
}
pMe->mAG.pIncomingCall = NULL;
}
else
{
bAnswered = FALSE;
}
}
#ifdef FEATURE_BT_VT
else if ( callIncoming == BT_APP_CALL_VT )
{
bAnswered = CVideoPhone_AnswerVideoCall( pMe->a.m_pIShell );
}
#endif //FEATURE_BT_VT
if ( bAnswered == FALSE )
{
MSG_ERROR( "AnswerCall - failed", 0, 0, 0 );
}
}
}


就是这个函数,是BREW蓝牙功能中的一个函数。
我就是想知道我上面做标记的那行到底把EVT_APP_POST_URL事件发送到哪个APP了?是不是DialerAPP啊?????
  • 打赏
  • 举报
回复
ISHELL_SendURL发送URL给关联的应用,是同步发送的,关联的应用会收到EVT_APP_POST_URL事件并进行处理

ISHELL_GetHandler查询已注册的内容查看器和协议模式的句柄。

调用ISHELL_GetHandler(pShell,AEECLSID_APP, "tel:") 之后,返回关联句柄类的 AEECLSID,如果一个应用的MIMEtype定义为tel:,则返回该应用的AEECLSID。

pURL = "tel:AnswerCall" 很像uiOne中,URI launcher的接收处理对象,如果你能描述更细一些就更好了

2,851

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧