2013-04-12 33 views
1

所以我使用黑莓BrowserSession加載了一個url,我加載了url。這個網址有按鈕,當你點擊他們的網址更改,我想知道什麼時候更改網址,以及何時它更改爲某個網址,我想添加一個彈出窗口。有誰知道這是怎麼做到的嗎?瞭解哪個URL正在加載Blackberry

如果你的Android程序中,我們使用

shouldOverrideUrlLoading(String url){} 

我不知道如果有一個像在黑莓手機。如果你可以在不使用BrowserSession的情況下檢查哪個url正在被加載,那麼這也可以。

+1

您需要支持哪種最低操作系統? – Nate

+0

7.0將被罰款 –

回答

4

如果您使用BrowerSession啓動URL,該頁面會在BlackBerry Browser進程中呈現,並且您的應用無法訪問其中的事件。你需要的是在BrowserField之內加載你的URL - WebView的黑莓手機。

如果要在頁面加載後顯示彈出窗口,請執行BrowserFieldListener界面以瞭解頁面何時加載。

如果你想在用戶點擊鏈接時顯示彈出窗口,你將不得不實現你自己的BrowserFieldNavigationRequestHandler

這裏是完整的代碼。

static void showScreen() { 
    MainScreen screen = new MainScreen(); 
    final BrowserField bf = new BrowserField(); 
    final ProtocolController pc = (ProtocolController) bf.getController(); 

    pc.setNavigationRequestHandler("http", new BrowserFieldNavigationRequestHandler() { 
     public void handleNavigation(BrowserFieldRequest request) throws Exception { 
      intercept(); //Intercept the request and my handler 
      InputConnection ic = pc.handleResourceRequest(request); 
      bf.displayContent(ic, request.getURL()); 
     } 
    }); 

    screen.add(bf); 
    bf.requestContent("http://www.google.com"); 
    UiApplication.getUiApplication().pushScreen(screen); 
} 
+0

我該如何實現我自己的BrowserFieldNavigationRequestHandler –

+0

@MoAli添加了完整的工作示例。 – adwiv

+0

謝謝你,我很感激 –