I am having some difficulty with Qt.openUrlExternally on Symbian^3. Sometimes it works, sometimes not, and I can’t find any pattern to it.
Another user seems to be having the same problem here.
When it does not work, the actual behaviour is that a web browser opens, comes to the foreground briefly (for a few seconds), then goes to the background. It is still open, but the URL does not load.
Qt.openUrlExternally("http://www.stackoverflow.com") works.
Qt.openUrlExternally("http://twitter.com/share?text=ZOMG") fails. I initially concluded that this meant any URL with ? does not work, however this is wrong because…
Qt.openUrlExternally("http://twitter.com/intent/tweet?text=ZOMG") works. However, it seems to work for one word only because:
Qt.openUrlExternally("http://twitter.com/intent/tweet?text=Will%20this%20work") fails.
Has anyone encountered a similar issue (specifically for sending arbitrary text to Twitter I suppose), and what have they done about it?
OK, had an result on this on the Qt forum.
Qt.openUrlExternallydoes not seem to like URLs containing%20as an escaped space.+works. (This brought to my attention that my second assertion above was wrong,http://twitter.com/share?text=ZOMGdoes work).The solution seems to be to pass the URI parameter through Javascript’s
encodeURIComponent()function and replace all resulting%20s with+s.