Ich habe eine Antwort gefunden, um Browser nach vorne zu bringen, aber immer noch funktioniert, um die URL zum Browser zu übergeben.
#if defined(Q_WS_S60)
TPtrC16 textPtr(reinterpret_cast<const TUint16*>(theUrl.utf16()));
HBufC *param = HBufC::NewMaxLC(textPtr.Length());
param->Des().Copy(_L("4 http://google.com"));
RApaLsSession apaLsSession;
const TUid KBrowserUid = {0x10008D39};
TApaTaskList taskList(CEikonEnv::Static()->WsSession());
TApaTask task = taskList.FindApp(KBrowserUid);
if (task.Exists()){
// Switch to existing browser instance
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, KBrowserUid, thread));
apaLsSession.Close();
}
CleanupStack::PopAndDestroy(param);
#else
//QDesktopServices::openUrl(QUrl("http://google.com"));
#endif
Wenn irgendein Vorschlag dann fügen Sie es bitte der Antwort hinzu.
Problem gelöst, einfach "Symbian: TARGET.CAPABILITY + = SwEvent" in Ihrer project.pro Datei hinzufügen und signierte App machen. Dies wird das Problem lösen :)
Es gibt keine solche Überprüfung. Wenn ein laufender Browser in den Vordergrund gebracht wird, ist dies möglicherweise vom Windowing-System nicht erlaubt (In Windows muss der Vordergrundprozess dies zulassen). Wenn die URL nicht einmal im Hintergrund geöffnet wird, ist das ein Fehler. Auf welcher Plattform bist du? –
für welche Plattform Sie kodieren, für Symbian, ich denke, dass Sie spezielle Fähigkeiten dafür benötigen. – Kunal
@Kunal Ich bin für Symbain Plattform Codierung, ich versuche diesen Link auch, aber es zeigt mir Fehler [Link] (http://www.developer.nokia.com/Community/Wiki/TSS000340_-_Launching_the_Web_browser_on_S60_3rd_Edition_to_open_a_specified_URL) – abhishek