單擊在我的應用程序上運行的Symbian S60 3rd Edition設備上顯示的URL時,應使手機瀏覽器(已打開)打開指定的URL。讓手機瀏覽器以編程方式在Symbian S60 3rd Ed上打開一個URL
下面是代碼:
_LIT(KUrlPrefix,"4 ")
void CMunduIMAppUi::OpenInBrowser(const TDesC& aUrl)
{
HBufC *url = NULL;
const TInt KWmlBrowserUid =0x10008D39;
TUid id(TUid::Uid(KWmlBrowserUid));
TApaTaskList taskList(CEikonEnv::Static()->WsSession());
TApaTask task = taskList.FindApp(id);
// Checks if the browser is already open
if (task.Exists())
{
HBufC8* parameter = HBufC8::NewL(aUrl.Length()+ KUrlPrefix().Length());
parameter->Des().Copy(KUrlPrefix);
parameter->Des().Append(aUrl);
task.BringToForeground();
task.SendMessage(TUid::Uid(0), *parameter); // UID not used
delete parameter;
parameter = NULL;
}
}
當我使用此代碼,打開瀏覽器來到前臺,但沒有得到指向的URL網址。
我懷疑什麼是錯在SendMessage調用瀏覽器 被帶到前臺後調用:
task.SendMessage(TUid::Uid(0), *parameter); // UID not used
這工作。但是我擔心,如果我的應用程序獲得Symbian Signed,代碼可能會導致問題。請參閱OpenWebBrowserL函數[http://code.google.com/p/mobbler/source/browse/src/mobblerappui.cpp?spec=svn47607874e896e0ab6ca07d5207a4453c1c8e973b&r=77a6566e9ea3dc192c97a0e8c23edd613a50dce8]行號2251 – ardsrk 2010-05-25 09:00:49
我不明白爲什麼它不應該'不要被Symbian簽名。誰知道爲什麼它在你的示例中被註釋掉了。 – Riho 2010-05-25 10:36:46