Symbian S60第三版上启动浏览器并打开指定网页

本文介绍了一种解决S60第三版及其更新版本中浏览器UID差异的方法,通过检查不同UID来确保应用能正确调用合适的浏览器组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



void OpenUrlL(const TDesC& aUrl)
{
if(aUrl.Length() <= 0)
return;
HBufC* param= HBufC::NewLC(aUrl.Length() + 8);
param->Des().Format(_L( "4 %S" ),&aUrl);

// WapBrowser's constants UId
const TIntKWmlBrowserUid = 0x1020724D;
TUidid(TUid::Uid(KWmlBrowserUid));

TApaTaskListtaskList(CEikonEnv::Static()->WsSession());
TApaTasktask = taskList.FindApp(id);
if(task.Exists())
{
HBufC8* param8 = HBufC8::NewLC(param->Length() *4);
param8->Des().Append(*param);
task.SendMessage(TUid::Uid(0), *param8); // Uid is not used
CleanupStack::PopAndDestroy(); // param8
}
else
{
RApaLsSession appArcSession;
User::LeaveIfError(appArcSession.Connect()); // connect to AppArcserver
TThreadId id;
appArcSession.StartDocument(*param, TUid::Uid(KWmlBrowserUid),id);
appArcSession.Close();
}
CleanupStack::PopAndDestroy(); // param
}

然而在S603rd的设备上存在两个浏览器"网络"和"服务","网络"UID是0x1020724D,"服务"的UID是0x10008D39,上面的代码会启动"服务",但是确不能打开指定的网页,如果把UID换成"网络"的UID是可以正常打开的,可是在S603rdFP1的设备上只剩下一个浏览器,UID为0x10008D39,这就造成了代码通用性的问题,为了避免生成两个版本的程序,我们可以首先查找0x1020724D这个UID对应的程序是否在系统中存在,如果存在说明手机的基于S603rd的,如果不存那么就是基于S60 3rd FP1的,这时我们使用0x10008D39就可以了。

void CShowTimeAppUi::OpenUrlL(const TDesC&aUrl)
{
if(aUrl.Length() <= 0)
return;
const TIntKBrowserUid1 = 0x1020724D;
const TIntKBrowserUid2 = 0x10008D39;
RApaLsSession appArcSession;
User::LeaveIfError(appArcSession.Connect()); // connect to AppArcserver
HBufC* param= HBufC::NewLC(aUrl.Length() + 8);
param->Des().Format(_L( "4 %S" ),&aUrl);
// WapBrowser's constants UId
TUidbrowserId(TUid::Uid(KBrowserUid1));
TApaAppInfoappInfo;
if(appArcSession.GetAppInfo(appInfo, browserId) != KErrNone)
{
browserId = TUid::Uid(KBrowserUid2);
}
TApaTaskListtaskList(CEikonEnv::Static()->WsSession());
TApaTasktask = taskList.FindApp(browserId);
if(task.Exists())
{
HBufC8* param8 = HBufC8::NewLC(param->Length() *4);
param8->Des().Append(*param);
task.SendMessage(TUid::Uid(0), *param8); // Uid is not used
CleanupStack::PopAndDestroy(); // param8
}
else
{
TThreadId id;
appArcSession.StartDocument(*param, browserId, id);
}
appArcSession.Close();
CleanupStack::PopAndDestroy(); // param
}

转自:http://aptana.blog.163.com/blog/static/120326010200952043045152/

推荐:PPC&塞班&UIQ 最强悍浏览器Opera9.51 B2 (支持Ajax和Flash) 越来越多弟兄姊妹使用智能手机,特别是由于山寨机的普及,现在的触摸屏智能手机,PPC6.1系统的都不上600元人民币了。 智能手机又称掌上电脑,或者PDA,是具有手机功能的微型电脑。 智能手机能够处理诸如Word Excel Powerpoint等文档——事实上,只要下载到相关软件,就可以实现和PC一样的功能。 我现在使用的智能手机很便宜,不上千元,功能却很多。如可以用来为吉它调音(安装PPC调音软件),拨打1分钟1毛钱的长途回拨电话(安装回拨卡程序软件),GPS(我的手机有全球卫星定位功能),上网。 今天向弟兄姊妹们推荐的是这款网页浏览器:Opera 下载地址:http://get.opera.com/pub/opera/winmobile/951b2/opera_wm5_ppc_951b2.cab 这款号称最好的智能手机网页浏览器,现在测试一下,实在是完全的佩服!!(需要触摸屏PDA支持) 优点: ①通过自动全屏和双击屏幕自动定位、缩放功能,实现800*600分辨率的电脑桌面网页浏览效果。(在320*240的屏幕上) ②支持Ajax——强悍!!当然,支持所有Javascript ③支持CSS(这个很重要,现在Web2.0都用这个玩意,不支持的话,会导致页面布局混乱) ④支持Flash(AS脚本也支持),无语了…… 用它上网,几乎和Windows XP下的IE一模一样!!相当的推荐!!
资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在现代军事领域,导弹的精确打击能力至关重要,而导弹的飞行轨迹直接影响其命中精度。为了深入研究导弹的飞行特性,本文通过 MATLAB 软件中的 Simulink 工具,对导弹的六自由度三维轨迹进行仿真分析。目标在惯性坐标系下进行匀速或变速机动,导弹采用比例导引法进行追踪。通过建立运动学与动力学模型,模拟导弹的飞行过程,旨在获取导弹的运动轨迹以及与目标的距离变化规律,为导弹的制导与控制研究提供理论支持与数据参考。 目标在惯性坐标系中按照设定的匀速或变速规律进行机动。其运动状态由位置、速度和加速度等参数描述,通过数学公式精确表达其在三维空间内的运动轨迹。匀速运动时,目标的速度保持恒定,位置随时间线性变化;变速运动时,引入加速度参数,使目标的运动更具复杂性和实战性。 导弹采用比例导引法进行制导。根据比例导引法的基本原理,导弹的加速度与目标与导弹之间的相对位置和相对速度成正比。结合导弹的运动学和动力学规律,建立导弹的六自由度运动模型。该模型考虑了导弹在三维空间内的平动和转动自由度,包括导弹的俯仰、偏航和滚转运动,以及相应的速度和加速度变化。通过运动学方程描述导弹的位置和姿态变化,动力学方程则考虑了导弹的推力、气动力和重力等因素对导弹运动的影响,从而全面刻画导弹的飞行特性。 在 MATLAB 的 Simulink 环境下,搭建仿真模型。将目标运动模型和导弹运动模型以模块化的方式进行组合,通过信号连接实现目标与导弹之间的信息交互。设置不同的初始条件,如目标和导弹的初始位置、速度、加速度等,以及比例导引法中的比例系数等参数。启动仿真后,Simulink 根据模型中的方程和参数,实时计算导弹和目标的运动状态,以图形化的方式展示导弹的三维飞行轨迹以及导弹与目标之间的距离变化曲线。通过多次仿真,调整参数,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值