2013-08-02 57 views
1

我想寫一個簡單的應用程序來打開一個URL,它的工作原理,但只有一次?黑莓10原生簡單的應用程序打開url

#include <bps/bps.h> 
#include <bps/navigator_invoke.h> 

int main(int argc, char **argv) { 
    bps_initialize(); 

    navigator_invoke_invocation_t *invoke = NULL; 
    navigator_invoke_invocation_create(&invoke); 

    navigator_invoke_invocation_set_target(invoke, "sys.browser"); 
    navigator_invoke_invocation_set_action(invoke, "bb.action.OPEN"); 
    navigator_invoke_invocation_set_uri(invoke, "http://www.stackoverflow.com"); 

    navigator_invoke_invocation_send(invoke); 
    navigator_invoke_invocation_destroy(invoke); 

    bps_shutdown(); 

    return 0; 
} 

難道真的沒有更簡單的權利嗎?當我運行它時,它會打開並瀏覽到StackOverflow,但如果我關閉瀏覽器並再次打開它,它並沒有真正做任何事情,當然不會再打開瀏覽器....我在這裏做錯了什麼? (新BB/BB10)

非常感謝

回答

1

這裏是一個視頻on YouTube,它的作品,因爲它應該。和here is Github with source。這是一個級聯解決方案,所以我希望它會適合你。

另一種方法是隻是把這個在:

QDesktopServices::openUrl(QUrl("http://www.google.com",QUrl::TolerantMode)); 

即使這種方法都工作,我建議你改用的WebView,並刷新/立即重定向它(測試!)。這樣您的網站將在您的應用程序中保持開放。

+0

感謝這個,很好的回答 –

+0

級聯代碼不能從核心原生應用中調用,因爲它不使用Qmake,你應該提供一個只使用BPS的替代方案。 – RelativeGames

+0

我告訴他這是一個級聯應用程序。爲了他的目的,這並沒有真正地改變他所用的東西 –