• yam天空
  • 天空部落
  • 新聞
  • 登入 註冊 網誌隨便逛
  • 加入天空部落
  • 蕃薯寶寶聖誕新家登場

網誌 相簿 影音 PK吧! Honda嬉遊趣
即時新聞 影音新聞 新聞專輯 政治新聞 財經新聞 娛樂新聞 運動新聞 兩岸新聞 科技新聞
管理介面 發表網誌 發表日記 上傳相片 上傳影音 管理留言
推薦這個部落格: 188

A HA! 心情雜物間

專供個人碎碎念的心得小屋,或是好物分享~~ ^_^

日記 |網誌 |相簿 |好友 |留言板
天空的部落格社交網路--BlogLive | 主頁 | yes123求職人格分析
August 8, 2007
Symbian 開發日誌(19)以文找文
csylvia 在天空部落發表於14:31:15 | Symbian
鼓勵此網誌:0 

最近被開啟網頁的功能搞得天昏地暗...

原本以為跟 Windows 系統一樣用「開啟文件」的方式,
把網址用文件方式打開,系統應該就會使用預設瀏覽器開啟該網頁,
結果我太嫩了......= =|||b


網路上找半天,
大部分都是討論「如何連接網路」、「如何做 web connection」,
也就是這些程式做的事情相當於「做一個 FTP」或是「開發一個 web browser」;
我不需要這麼複雜的功能,
我要的功能僅僅是「可以開啟特定網址的網頁」就好。

找了好久,同事找到了「Launching the Web browser on S60 3rd Edition to open a specified URL」這一篇有講在 S60 3rd 系統上如何開啟特定網址的網頁,
正是我所需要的,
其實照著網頁上的範例就可以實做出來了耶!XD

 

 RApaLsSession apaLsSession;

TUid KOSSBrowserUidValue;
KOSSBrowserUidValue.iUid = 0x1020724D;

HBufC* param = HBufC::NewLC(64);
param->Des().Copy( KDownloadUrl );

TUid id(KOSSBrowserUidValue);
TApaTaskList taskList(CEikonEnv::Static()->WsSession());
TApaTask task = taskList.FindApp(id);

if( task.Exists() )
{
 task.BringToForeground();
 
 HBufC8* param8 = HBufC8::NewLC(param->Length());
 param8->Des().Append(*param);
 
 task.SendMessage(TUid::Uid(0), *param8); // UID not used
 
 CleanupStack::PopAndDestroy(param8);
}
else
{
 if(!apaLsSession.Handle())
 {
  User::LeaveIfError(apaLsSession.Connect());
 }
 
 TThreadId thread;
 User::LeaveIfError(apaLsSession.StartDocument(*param, KOSSBrowserUidValue, thread));
 
 apaLsSession.Close();
}

CleanupStack::PopAndDestroy(param);

 

不過在「」這一篇也有提到,
在 S60 3rd Edition, FP1 devices 上 UID 必須設為

const TUid KOSSBrowserUidValue = {0x10008D39};

這是因為 S60 3rd 平台上有兩個 browsers:「Services」和「Web」,
而在 S60 3rd FP1 平台上只使用其中一個的緣故。
不過我搞不懂的是,那兩個都用相同的那個 UID 不就好了嗎?
還是說「Services」在非 FP1 的平台上不好用的緣故?

匪夷所思啊~~@@

 

所以延伸出來的課題就是:如何判斷手機的作業平台?

在「Different browser UIDs in S60 3rd Edition and S60 3rd Edition, FP1」文件中有提到如何取得 Machine ID & platform version,
但我很想知道有沒有可以直接得到 Platform ID 的方法,
這才是比 Machine ID 更有用的資訊啊!
不過沒有這樣的資訊,
所以最後是使用 Platform Version~~= =|||

 

 /******Detecting the device at run time with the Machine UID******
#include <hal.h> // link against hal.lib
TInt uid;
HAL::Get(HAL::EMachineUid, uid);

 

 /******Detecting the platform version at run time******
#include <f32file.h> // link against efsrv.lib
_LIT(KS60ProductIDFile, "Series60v*.sis");
_LIT(KROMInstallDir, "z:\\system\\install\\");

void GetS60PlatformVersionL( RFs& aFs, TUint& aMajor, TUint& aMinor )
{
 TFindFile ff( aFs );
 CDir* result;
 User::LeaveIfError( ff.FindWildByDir( KS60ProductIDFile, KROMInstallDir, result ) );
 CleanupStack::PushL( result );
 User::LeaveIfError( result->Sort( ESortByName|EDescending ) );
 aMajor = (*result)[0].iName[9] - '0';
 aMinor = (*result)[0].iName[11] - '0';
 CleanupStack::PopAndDestroy(); // result
}

 

其實查資料時,有人說可以把得到 Machine ID 的參數換成 EManufacturerSoftwareRev,
或是使用 TVersion osVersion = User::Version(); 的方式,
但都沒用。
(C:\Symbian\9.1\S60_3rd_MR\Epoc32\include\hal.h;C:\Symbian\9.1\S60_3rd_MR\Epoc32\include\hal_data.h)

 

解決完 S60 3rd 的之後,
就是頭大的 S60 2nd 啦。

找了好久,都沒有這方面的文件,
即使有人問也沒人回答(真的很討厭那種回答:「去網路上找找看啊」的人="=),
所以後來我使用別的關鍵字搜尋,一頁一頁過濾,
終於讓我找到「How to start web browser to open the specified URL on s60 2.0 fp3? - Developer Discussion Boards」這一篇,
才赫然發現原來把 Browser UID 改成 S60 3rd FP1 的就可以!

天啊~~讓我煩惱這麼久~~=A=

 

 

  • Launching the Web browser on S60 3rd Edition to open a specified URL
  • Different browser UIDs in S60 3rd Edition and S60 3rd Edition, FP1
  • Resource information: S60 Platform: Identification Codes v1.9
  • How to get platform id - Developer Discussion Boards
  • How to get platform version, OsVersion programatically. - Developer Discussion Boards
  • How to start web browser to open the specified URL on s60 2.0 fp3? - Developer Discussion Boards
  • Nokia论坛技术资料Symbian解决方案-中文版[申请置顶] - Developer Discussion Boards 〔大陸的強者提供的好技術資料,只不過要自己一頁一頁尋寶XDb〕

 

留言 (3) | 引用 (0) | 人氣 () | 轉寄
| 主頁 | 此分類下一篇:Symbian 開發日誌(18)
引用 (你可以針對此文寫一篇屬於自己的blog/想法,並給作者一個通告)
引用
留言 (3筆)
1.
您好,我是symbian初學者!

因初次安裝 Carbide c++ 按照程序一一安裝,
版本是挑選express版,

第一次執行時卻發現它出現一個要求授權檔的畫面,
不管移除幾次再裝都沒用,
覺得好怪,為什麼別人都沒碰到這個問題。

我是選擇 express版應該不會要求要licence檔吧?
希望您能給我指點一下迷津!

迷航人.....
板主回覆:
嗯......Express 版是免費的,應該不會要求授權檔才對,
你確定裝的是 Express 版嗎?

另外,你確定授權檔是由 Carbide.c++ 所產生的嗎?
會不會是由 S60 SDK 所發出的?
SDK 是有試用期限,時間到了會要求授權。

不過 SDK 授權也是免費的,
只要你申請 Symbian Forum 帳號,就可以得到授權碼,
照著提示訊息做就可以了。

時間有點久遠,所以步驟有些忘了,
你可以先試看看~~ ^^
donychao 於 2007-12-04 21:37:49 留言 |

2.
謝謝您熱心的回覆,
我寫信至諾基亞發問,
他跟我說:

There is a known problem with Carbide.c++ Express v1.2.0 that it displays an error message saying that there is no license. This message can be ignored.

This problem has been fixed in v1.2.1. To install the update, run Carbide.c++ and use the menu Help >> Software Updates >> Find and Install ... Check "Search for new features to install". Install all of the updates from the Carbide.c++ Update Site.

為了讓你也知道,所以在不怕讓你嫌煩的情境下post了上來,
因為我認為這是所有發問者應有的紀律。

謝謝你!
板主回覆:
哇!謝謝!你真貼心! ^口^
感激都來不及了,不會嫌煩的啦。
.
喔~~是這樣啊,
可能我用的是先前的版本,沒有這樣的問題,
所以很感謝您提供這樣的訊息呢!
.
有交流才有進步啊!>_<
donychao 於 2007-12-05 12:26:52 留言 |

3.
你好....對於你的網誌中關於symbian程式開發的部份很有興趣....所以冒昧的想跟你要密碼以便瀏覽....不知是否方便....

我本身有開發過symbian S90與S60手機的地圖導航程式(2nd by VS6)...不過大概是快要兩年前的事情了....現在剛好有個案子要開發3rd的程式...我個人也想把之前2nd版本的程式porting到3rd上...

如果之後有問題請教的話也要麻煩你不吝賜教...感謝感謝....
板主回覆:
密碼為發表網誌日期的 yyyymmdd 格式。
.
我已經沒碰 Symbian 很久了,
恐怕沒能給予什麼有用的幫助,
但會盡量回答,
請加油! ^^
我心清明 於 2008-07-10 16:07:53 留言 |

發表你的留言 (字數限制 最多 2000 個中文字)
私密留言: 是 否
Name:





是 否
內容:
系統公告
系統工具


Sylvia 小檔案
個人圖檔
ID:csylvia
暱稱:Sylvia
地區:臺北市
  • 訂閱 |
    • 我要訂閱此部落格的
    • 日記
    • 網誌
    • 相簿
  • 好友 |
    • 好友功能
    • 觀看好友列表
    • 觀看人緣列表
  • 人氣 |
  • 簡介 

文章分類
  • 生活資訊 (6)
    • 螢養保健 (11)
    • 小辭典 (13)
    • 飲食美味 (2)
    • 美容美髮 (2)
    • 體操按摩 (5)
    • 有用資訊 (10)
  • 資源連結 (4)
    • 資源整理 (12)
    • 噗浪 (8)
    • 介紹&推薦 (45)
    • BLOG小玩意 (44)
  • 真人電影 (4)
    • 電影介紹&推薦 (20)
    • 西洋電影 (35)
    • 東洋電影 (2)
    • 國片電影 (4)
  • 語言筆記 (3)
    • 英文 (4)
    • 其他語言 (1)
    • 日文 (6)
  • 創作欣賞 (7)
    • 串珠飾品 (12)
    • 毛線球 (2)
    • 文章 (1)
    • 設計 (2)
    • 不織布 DIY (5)
    • 其他創作 (1)
    • CG (8)
  • 電視影集 (3)
    • 綜藝節目 (7)
    • 紀錄片/連續劇 (11)
    • 經典影集 (12)
  • 科技資訊 (19)
    • C/C++ (58)
    • AJAX (37)
    • Code::Blocks 相關 (29)
    • WM5.0 (26)
    • Symbian (26)
    • ActiveX (22)
    • AIR (2)
    • ASP (9)
    • JavaScript (29)
    • FLASH (9)
    • 網頁相關 (7)
    • PHP (3)
    • Database (3)
    • 其他 (29)
    • Install (2)
    • SOAP (1)
    • VLC (14)
    • Linux 相關 (2)
    • Batch File (8)
  • 動漫遊戲 (3)
    • 西洋動漫 (9)
    • 其他動漫 (1)
    • 日本動漫 (22)
  • Amway (3)
    • 其他筆記 (0)
    • 智囊團 (0)
    • 紀錄 (4)
  • 個人記事 (6)
  • 書籍藝文 (29)
  • 話題探討 (28)
csylvia的最新的回應
  • jamie:
    我也有類似的經驗,...
  • 小豬仔:
    Hi Sylvia,...
  • Anne:
    NANA...
  • Anne:
    嗯....
  • Anne:
    有去租來看過....
  • Anne:
    不過"窈窕野...
  • 小鼻:
    哈~!妳超力害的...
  • 小豬仔:
    Hello...
  • Anne:
    嗯, 同意你說的....
  • Anne:
    我有看過一部電影:&q...
網站集結
迷你窩 miniworld
aNobii 書櫃
珍惜台灣
天下雜誌綠色行動4力串聯貼紙



台灣是我的國家

台灣貨‧暢其流
該推就是要推

禁虐

搶救生命 棄兒不捨!
天下雜誌台灣不願面對的真相貼紙



Chine Free

力挺泰山串聯貼紙
天氣
台北
-
RANKING
Google PageRank Checker



Free PageRank Meter for blog.webs-tv.net/csylvia
人氣指數
當日人次:
累積人次:
網誌搜尋
搜尋:
參觀者
RSS 訂閱


RSS 訂閱
RSS2
ATOM
贊助商
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam 天空 本身立場。
POWERED BY
POWERED BY 天空部落
會員登入│免費註冊