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);
}