知道正在加载哪个URL Blackberry

时间:2013-04-12 14:51:14

标签: browser blackberry java-me

所以我使用黑莓BrowserSession加载网址,我加载了网址。当你点击它们的url更改时,这个url有按钮,我想知道url更改的时间,当它更改为某个url时我想添加一个弹出窗口。有谁知道怎么做?

如果你在Android中编程,我们使用

    shouldOverrideUrlLoading(String url){}

我不确定BlackBerry中是否有这样的产品。如果您可以在不使用BrowserSession的情况下查看正在加载哪个网址,那么这也可以。

1 个答案:

答案 0 :(得分:4)

如果您使用BrowerSession启动URL,则该页面将在BlackBerry Browser进程中呈现,您的应用无法访问其中的事件。您需要的是在BrowserField内加载您的网址 - 与BlackBerry相当的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);
}