1

だから私はBrowserSessionURLをロードするためにブラックベリーを使用しています.URLをロードしました. この URL にはボタンがあり、クリックすると URL が変更されます。URL がいつ変更されるかを知りたいのですが、特定の URL に変更されたときにポップアップ ウィンドウを追加したいと考えています。誰もそれを行う方法を知っていますか?

Android でプログラミングする場合は、

    shouldOverrideUrlLoading(String url){}

BlackBerry にそのようなものがあるかどうかはわかりません。を使用せずに読み込まれている URL を確認できる場合はBrowserSession、それも機能します。

4

1 に答える 1

4

BrowserSession を使用して URL を起動する場合、ページは BlackBerry Browser プロセスでレンダリングされ、アプリはその中のイベントにアクセスできません。必要なBrowserFieldのは、WebView に相当する BlackBerry 内で URL をロードすることです。

ページがロードされた後にポップアップを表示したい場合は、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);
}
于 2013-04-14T17:25:48.433 に答える