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



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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
推荐: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一模一样!!相当的推荐!!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值